From 7a23d9ba3ef4d2b0ade30ff53899743b05072d71 Mon Sep 17 00:00:00 2001 From: guojunyun Date: Wed, 29 Oct 2025 15:59:58 +0800 Subject: [PATCH 1/6] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E5=9B=BD=E8=B4=B82.0?= =?UTF-8?q?=E7=B3=BB=E7=BB=9F=E5=90=88=E5=90=8C=E5=88=86=E9=A1=B5=E6=9F=A5?= =?UTF-8?q?=E8=AF=A2=E6=8E=A5=E5=8F=A3=20=E4=BF=AE=E6=94=B9=E5=9B=BD?= =?UTF-8?q?=E8=B4=B82.0=E7=B3=BB=E7=BB=9F=E5=90=88=E5=90=8C=E5=88=9B?= =?UTF-8?q?=E5=BB=BA=E6=8E=A5=E5=8F=A3=EF=BC=9A=E5=90=88=E5=90=8C=E7=B1=BB?= =?UTF-8?q?=E5=9E=8B=E4=BF=AE=E6=94=B9=20=E5=90=88=E5=90=8C=E4=B8=BB?= =?UTF-8?q?=E4=BF=A1=E6=81=AF=E6=B7=BB=E5=8A=A0=E4=BB=A3=E7=90=86=E6=96=B9?= =?UTF-8?q?=E5=90=8D=E7=A7=B0=E5=AD=97=E6=AE=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../module/contractorder/api/ContractApi.java | 12 +- .../api/dto/contract/ContractRespDTO.java | 3 + .../api/vo/contract/ContractRespVO.java | 3 + .../api/vo/contract/ContractSaveReqVO.java | 3 + ...{ContractRequest.java => IntContract.java} | 2 +- .../international/IntContractPageReq.java | 13 ++ .../enums/contract/DictEnum.java | 9 ++ .../contractorder/api/ContractApiImpl.java | 134 +++++++++++++++++- .../dataobject/contract/ContractMainDO.java | 5 + 9 files changed, 176 insertions(+), 8 deletions(-) rename zt-module-contract-order/zt-module-contract-order-api/src/main/java/com/zt/plat/module/contractorder/api/vo/contract/international/{ContractRequest.java => IntContract.java} (99%) create mode 100644 zt-module-contract-order/zt-module-contract-order-api/src/main/java/com/zt/plat/module/contractorder/api/vo/contract/international/IntContractPageReq.java 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 66a3d5f..051c0fb 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 @@ -2,9 +2,11 @@ package com.zt.plat.module.contractorder.api; import com.zt.plat.framework.common.pojo.CommonResult; +import com.zt.plat.framework.common.pojo.PageResult; import com.zt.plat.module.contractorder.api.dto.contract.ContractRespDTO; import com.zt.plat.module.contractorder.api.dto.order.PurchaseOrderWithDetailsDTO; -import com.zt.plat.module.contractorder.api.vo.contract.international.ContractRequest; +import com.zt.plat.module.contractorder.api.vo.contract.international.IntContract; +import com.zt.plat.module.contractorder.api.vo.contract.international.IntContractPageReq; import com.zt.plat.module.contractorder.enums.ApiConstants; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.tags.Tag; @@ -39,6 +41,10 @@ public interface ContractApi { CommonResult> getOrderByOrderIds(@RequestBody List ids); @PostMapping(PREFIX + "/push") - @Operation(summary = "国贸2.0系统创建合同调用") - CommonResult push(@Valid @RequestBody ContractRequest reqVO) throws Exception; + @Operation(summary = "国贸2.0系统创建合同") + CommonResult push(@Valid @RequestBody IntContract reqVO) throws Exception; + + @GetMapping(PREFIX + "/logistics/list/page") + @Operation(summary = "国贸2.0系统合同分页查询") + CommonResult> logisticsListPage(IntContractPageReq pageReq); } diff --git a/zt-module-contract-order/zt-module-contract-order-api/src/main/java/com/zt/plat/module/contractorder/api/dto/contract/ContractRespDTO.java b/zt-module-contract-order/zt-module-contract-order-api/src/main/java/com/zt/plat/module/contractorder/api/dto/contract/ContractRespDTO.java index 3e10aa4..4def12c 100644 --- a/zt-module-contract-order/zt-module-contract-order-api/src/main/java/com/zt/plat/module/contractorder/api/dto/contract/ContractRespDTO.java +++ b/zt-module-contract-order/zt-module-contract-order-api/src/main/java/com/zt/plat/module/contractorder/api/dto/contract/ContractRespDTO.java @@ -233,6 +233,9 @@ public class ContractRespDTO { @Schema(description = "合同分类(字典:SPLY_BSN_TP)") private String businessType; + @Schema(description = "代理方名称") + private String agentName; + // 物料信息 private List detail; diff --git a/zt-module-contract-order/zt-module-contract-order-api/src/main/java/com/zt/plat/module/contractorder/api/vo/contract/ContractRespVO.java b/zt-module-contract-order/zt-module-contract-order-api/src/main/java/com/zt/plat/module/contractorder/api/vo/contract/ContractRespVO.java index cf1c8cc..a112ce0 100644 --- a/zt-module-contract-order/zt-module-contract-order-api/src/main/java/com/zt/plat/module/contractorder/api/vo/contract/ContractRespVO.java +++ b/zt-module-contract-order/zt-module-contract-order-api/src/main/java/com/zt/plat/module/contractorder/api/vo/contract/ContractRespVO.java @@ -236,6 +236,9 @@ public class ContractRespVO { @Schema(description = "合同分类(字典:SPLY_BSN_TP)") private String businessType; + @Schema(description = "代理方名称") + private String agentName; + // 物料信息 private List detail; diff --git a/zt-module-contract-order/zt-module-contract-order-api/src/main/java/com/zt/plat/module/contractorder/api/vo/contract/ContractSaveReqVO.java b/zt-module-contract-order/zt-module-contract-order-api/src/main/java/com/zt/plat/module/contractorder/api/vo/contract/ContractSaveReqVO.java index eeb6bc9..6b0bd4c 100644 --- a/zt-module-contract-order/zt-module-contract-order-api/src/main/java/com/zt/plat/module/contractorder/api/vo/contract/ContractSaveReqVO.java +++ b/zt-module-contract-order/zt-module-contract-order-api/src/main/java/com/zt/plat/module/contractorder/api/vo/contract/ContractSaveReqVO.java @@ -208,6 +208,9 @@ public class ContractSaveReqVO { @Schema(description = "合同分类(字典:SPLY_BSN_TP)") private String businessType; + @Schema(description = "代理方名称") + private String agentName; + // 物料信息 private List detail; diff --git a/zt-module-contract-order/zt-module-contract-order-api/src/main/java/com/zt/plat/module/contractorder/api/vo/contract/international/ContractRequest.java b/zt-module-contract-order/zt-module-contract-order-api/src/main/java/com/zt/plat/module/contractorder/api/vo/contract/international/IntContract.java similarity index 99% rename from zt-module-contract-order/zt-module-contract-order-api/src/main/java/com/zt/plat/module/contractorder/api/vo/contract/international/ContractRequest.java rename to zt-module-contract-order/zt-module-contract-order-api/src/main/java/com/zt/plat/module/contractorder/api/vo/contract/international/IntContract.java index b6b4507..238351c 100644 --- a/zt-module-contract-order/zt-module-contract-order-api/src/main/java/com/zt/plat/module/contractorder/api/vo/contract/international/ContractRequest.java +++ b/zt-module-contract-order/zt-module-contract-order-api/src/main/java/com/zt/plat/module/contractorder/api/vo/contract/international/IntContract.java @@ -10,7 +10,7 @@ import java.util.List; * 合同请求主实体 */ @Data -public class ContractRequest { +public class IntContract { // 基础信息 @Schema(description = "操作标志") diff --git a/zt-module-contract-order/zt-module-contract-order-api/src/main/java/com/zt/plat/module/contractorder/api/vo/contract/international/IntContractPageReq.java b/zt-module-contract-order/zt-module-contract-order-api/src/main/java/com/zt/plat/module/contractorder/api/vo/contract/international/IntContractPageReq.java new file mode 100644 index 0000000..abddeca --- /dev/null +++ b/zt-module-contract-order/zt-module-contract-order-api/src/main/java/com/zt/plat/module/contractorder/api/vo/contract/international/IntContractPageReq.java @@ -0,0 +1,13 @@ +package com.zt.plat.module.contractorder.api.vo.contract.international; + +import com.zt.plat.framework.common.pojo.PageParam; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +@Data +public class IntContractPageReq extends PageParam { + @Schema(description = "合同编号") + private String contractCode; + @Schema(description = "合同名称") + private String contractName; +} diff --git a/zt-module-contract-order/zt-module-contract-order-api/src/main/java/com/zt/plat/module/contractorder/enums/contract/DictEnum.java b/zt-module-contract-order/zt-module-contract-order-api/src/main/java/com/zt/plat/module/contractorder/enums/contract/DictEnum.java index 8df642d..4bf0faf 100644 --- a/zt-module-contract-order/zt-module-contract-order-api/src/main/java/com/zt/plat/module/contractorder/enums/contract/DictEnum.java +++ b/zt-module-contract-order/zt-module-contract-order-api/src/main/java/com/zt/plat/module/contractorder/enums/contract/DictEnum.java @@ -8,6 +8,15 @@ import lombok.Getter; @Getter public enum DictEnum { + /** 供应链业务大类 */ + SPLY_BSN_TP_03BX("货物保险","03BX",null), + SPLY_BSN_TP_11CC("货物保管仓储","11CC",null), + SPLY_BSN_TP_10YS("货物运输","10YS",null), + SPLY_BSN_TP_13HD("货运代理","13HD",null), + SPLY_BSN_TP_ENTED("来料加工","ENTED",null), + SPLY_BSN_TP_ENT("委托加工","ENT",null), + SPLY_BSN_TP_PUR("采购","PUR",null), + SPLY_BSN_TP_SALE("销售","SALE",null), /** 业务类型 */ BSN_TP_3("物流合同","3",null), /** ERP合同类型编码 */ diff --git a/zt-module-contract-order/zt-module-contract-order-server/src/main/java/com/zt/plat/module/contractorder/api/ContractApiImpl.java b/zt-module-contract-order/zt-module-contract-order-server/src/main/java/com/zt/plat/module/contractorder/api/ContractApiImpl.java index 5395f2d..95bbc35 100644 --- a/zt-module-contract-order/zt-module-contract-order-server/src/main/java/com/zt/plat/module/contractorder/api/ContractApiImpl.java +++ b/zt-module-contract-order/zt-module-contract-order-server/src/main/java/com/zt/plat/module/contractorder/api/ContractApiImpl.java @@ -1,9 +1,12 @@ package com.zt.plat.module.contractorder.api; import cn.hutool.extra.spring.SpringUtil; +import cn.hutool.json.JSONArray; import cn.hutool.json.JSONObject; 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; import com.zt.plat.module.contractorder.api.dto.contract.ContractRespDTO; import com.zt.plat.module.contractorder.api.dto.order.PrchOrdDtlDTO; import com.zt.plat.module.contractorder.api.dto.order.PurchaseOrderWithDetailsDTO; @@ -39,6 +42,7 @@ import java.lang.reflect.Field; import java.time.LocalDateTime; import java.time.format.DateTimeFormatter; import java.util.ArrayList; +import java.util.Arrays; import java.util.List; import static com.zt.plat.framework.common.exception.util.ServiceExceptionUtil.exception; @@ -147,7 +151,7 @@ public class ContractApiImpl implements ContractApi { @Transactional @Override - public CommonResult push(@RequestBody ContractRequest reqVO) throws Exception { + public CommonResult push(@RequestBody IntContract reqVO) throws Exception { // 合同主信息表映射 ContractMainDO contractMainDO = getcontractMainDO(reqVO); @@ -339,6 +343,128 @@ public class ContractApiImpl implements ContractApi { return success(true); } + @Override + public CommonResult> logisticsListPage(IntContractPageReq pageReq) { + + // 查询条件 + LambdaQueryWrapperX queryWrapperX = new LambdaQueryWrapperX<>(); + // 合同类型 + queryWrapperX.in( + ContractMainDO::getBusinessType, + Arrays.asList( + DictEnum.SPLY_BSN_TP_13HD.getCode(), + DictEnum.SPLY_BSN_TP_10YS.getCode(), + DictEnum.SPLY_BSN_TP_11CC.getCode(), + DictEnum.SPLY_BSN_TP_03BX.getCode() + ) + ); + // 合同编号 + queryWrapperX.likeIfPresent(ContractMainDO::getContractPaperNumber, pageReq.getContractCode()); + // 合同名称 + queryWrapperX.likeIfPresent(ContractMainDO::getContractName, pageReq.getContractName()); + + // 查询 + PageResult pageResult = contractMainMapper.selectPage(pageReq, queryWrapperX); + + // 返回数据 + PageResult result = new PageResult<>(); + List resultList = new ArrayList<>(); + // 设置返回数据 + result.setTotal(pageResult.getTotal()); + result.setList(resultList); + + // 遍历查询结果,设置返回数据列表 + if (pageResult.getTotal() > 0) { + pageResult.getList().forEach(contractMainDO -> { + + // 合同ID + Long mainDOId = contractMainDO.getId(); + + // 合同主信息 + List mainFields = contractOtherFieldMapper.selectList( + new LambdaQueryWrapperX() + .eq(ContractOtherFieldDO::getContractMainId, mainDOId) + .isNull(ContractOtherFieldDO::getRelativityId) + ); + JSONObject resultJson = new JSONObject(); + mainFields.forEach(field + -> resultJson.putOnce(field.getFieldNumber(), field.getFieldValue())); + + // 附件清单列表 + List attachForms = contractOtherFormMapper.selectList( + new LambdaQueryWrapperX() + .eq(ContractOtherFormDO::getContractMainId, mainDOId) + .eq(ContractOtherFormDO::getFormNumber, "attachList") + ); + if (attachForms != null && !attachForms.isEmpty()) { + JSONArray jsonArray = new JSONArray(); + attachForms.forEach(form -> { + ContractOtherFieldDO fieldDO = contractOtherFieldMapper.selectOne( + new LambdaQueryWrapperX() + .eq(ContractOtherFieldDO::getContractMainId, mainDOId) + .eq(ContractOtherFieldDO::getRelativityId, form.getId()) + ); + if (fieldDO != null) { + jsonArray.add(fieldDO.getFieldValue()); + } + }); + if (!jsonArray.isEmpty()) { + resultJson.putOnce("attachList", jsonArray); + } + } + + // 客商信息 + resultJson.putOnce("partnerList", getQueryFieldJsonArray(mainDOId, "partnerList")); + // 收发港/站点 + resultJson.putOnce("goodsSiteList", getQueryFieldJsonArray(mainDOId, "goodsSiteList")); + // 货物装卸要求 + resultJson.putOnce("loadingRequirementsList", getQueryFieldJsonArray(mainDOId, "loadingRequirementsList")); + // 收付款账号 + resultJson.putOnce("accountList", getQueryFieldJsonArray(mainDOId, "accountList")); + // 费用明细 + resultJson.putOnce("freightList", getQueryFieldJsonArray(mainDOId, "freightList")); + // 服务费用项目 + resultJson.putOnce("serviceFeeList", getQueryFieldJsonArray(mainDOId, "serviceFeeList")); + // 仓库明细 + resultJson.putOnce("storgeList", getQueryFieldJsonArray(mainDOId, "storgeList")); + // 接货地址 + resultJson.putOnce("receivingAddrList", getQueryFieldJsonArray(mainDOId, "receivingAddrList")); + + // 添加到结果集 + resultList.add(resultJson.toBean(IntContract.class)); + }); + } + + return success(result); + } + + private JSONArray getQueryFieldJsonArray(Long mainDOId, String fieldName) { + + JSONArray jsonArray = new JSONArray(); + List forms = contractOtherFormMapper.selectList( + new LambdaQueryWrapperX() + .eq(ContractOtherFormDO::getContractMainId, mainDOId) + .eq(ContractOtherFormDO::getFormNumber, fieldName) + ); + if (forms != null && !forms.isEmpty()) { + forms.forEach(form -> { + List fieldDOs = contractOtherFieldMapper.selectList( + new LambdaQueryWrapperX() + .eq(ContractOtherFieldDO::getContractMainId, mainDOId) + .eq(ContractOtherFieldDO::getRelativityId, form.getId()) + ); + if (fieldDOs != null && !fieldDOs.isEmpty()) { + JSONObject jsonObject = new JSONObject(); + fieldDOs.forEach(field + -> jsonObject.putOnce(field.getFieldNumber(), field.getFieldValue())); + jsonArray.add(jsonObject); + } + }); + } + + return jsonArray.isEmpty() ? null : jsonArray; + } + @Override public CommonResult> getOrderByOrderIds(List ids) { if (ids == null || ids.isEmpty()) { @@ -370,7 +496,7 @@ public class ContractApiImpl implements ContractApi { return CommonResult.success(purchaseOrderDetails); } - private ContractMainDO getcontractMainDO(ContractRequest reqVO) { + private ContractMainDO getcontractMainDO(IntContract reqVO) { // 合同主信息表映射 ContractMainDO contractMainDO = new ContractMainDO(); @@ -430,8 +556,8 @@ public class ContractApiImpl implements ContractApi { // 本币履约保证金 默认值:NULL // 交易方式 默认值:先款后货 contractMainDO.setHasPayable(DictEnum.HS_PYBL_TP_PRE_PAY.getCode()); - // 合同类型 默认值:物流合同 - contractMainDO.setContractType(DictEnum.BSN_TP_3.getCode()); + // 合同类型 + contractMainDO.setBusinessType(reqVO.getContractType()); // 签署地 -> 签约地 (40-签约必填) contractMainDO.setSignPlace(reqVO.getSignSite()); // 甲方公司编号(采购方) -> 账套代码 diff --git a/zt-module-contract-order/zt-module-contract-order-server/src/main/java/com/zt/plat/module/contractorder/dal/dataobject/contract/ContractMainDO.java b/zt-module-contract-order/zt-module-contract-order-server/src/main/java/com/zt/plat/module/contractorder/dal/dataobject/contract/ContractMainDO.java index ea05762..f5d9681 100644 --- a/zt-module-contract-order/zt-module-contract-order-server/src/main/java/com/zt/plat/module/contractorder/dal/dataobject/contract/ContractMainDO.java +++ b/zt-module-contract-order/zt-module-contract-order-server/src/main/java/com/zt/plat/module/contractorder/dal/dataobject/contract/ContractMainDO.java @@ -394,4 +394,9 @@ public class ContractMainDO extends BusinessBaseDO { */ @TableField("BSN_TP") private String businessType; + /** + * 代理方名称 + */ + @TableField("AGT_NAME") + private String agentName; } \ No newline at end of file From 21ac7f982823cd486ae73349992d6501de3b6485 Mon Sep 17 00:00:00 2001 From: chenbowen Date: Wed, 29 Oct 2025 16:05:51 +0800 Subject: [PATCH 2/6] =?UTF-8?q?=E7=89=A9=E6=96=99=E3=80=81=E5=B7=A5?= =?UTF-8?q?=E8=89=BA=E5=9F=BA=E6=9C=AC=E5=A2=9E=E5=88=A0=E6=94=B9=E6=9F=A5?= =?UTF-8?q?=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../module/base/enums/ErrorCodeConstants.java | 12 + .../base/vo/MaterialInfomationPageReqVO.java | 3 + .../base/vo/MaterialInfomationRespVO.java | 4 + .../base/vo/MaterialInfomationSaveReqVO.java | 5 + .../DepartmentMaterialController.java | 107 ++++++++ .../vo/DepartmentMaterialPageReqVO.java | 47 ++++ .../vo/DepartmentMaterialRespVO.java | 83 ++++++ .../vo/DepartmentMaterialSaveReqVO.java | 30 +++ .../MaterialClassesController.java | 138 ++++++++++ .../vo/MaterialClassesPageReqVO.java | 35 +++ .../vo/MaterialClassesRespVO.java | 43 +++ .../vo/MaterialClassesSaveReqVO.java | 33 +++ .../vo/MaterialClassesTreeRespVO.java | 33 +++ .../MaterialHasClassesController.java | 107 ++++++++ .../vo/MaterialHasClassesPageReqVO.java | 26 ++ .../vo/MaterialHasClassesRespVO.java | 31 +++ .../vo/MaterialHasClassesSaveReqVO.java | 23 ++ .../MaterialHasPropertiesController.java | 107 ++++++++ .../vo/MaterialHasPropertiesPageReqVO.java | 41 +++ .../vo/MaterialHasPropertiesRespVO.java | 51 ++++ .../vo/MaterialHasPropertiesSaveReqVO.java | 39 +++ .../MaterialPropertiesController.java | 107 ++++++++ .../vo/MaterialPropertiesPageReqVO.java | 38 +++ .../vo/MaterialPropertiesRespVO.java | 47 ++++ .../vo/MaterialPropertiesSaveReqVO.java | 38 +++ .../ProcessingInfomationController.java | 138 ++++++++++ .../vo/ProcessingInfomationPageReqVO.java | 42 +++ .../vo/ProcessingInfomationRespVO.java | 51 ++++ .../vo/ProcessingInfomationSaveReqVO.java | 42 +++ .../vo/ProcessingInfomationTreeRespVO.java | 34 +++ ...ocessingInfomationOperationController.java | 107 ++++++++ ...rocessingInfomationOperationPageReqVO.java | 41 +++ .../ProcessingInfomationOperationRespVO.java | 59 +++++ ...rocessingInfomationOperationSaveReqVO.java | 31 +++ .../ProcessingOperationController.java | 115 ++++++++ .../vo/ProcessingOperationPageReqVO.java | 35 +++ .../vo/ProcessingOperationRespVO.java | 43 +++ .../vo/ProcessingOperationSaveReqVO.java | 34 +++ .../vo/ProcessingOperationSimpleRespVO.java | 19 ++ ...ProcessingOperationMaterialController.java | 107 ++++++++ .../ProcessingOperationMaterialPageReqVO.java | 29 +++ .../vo/ProcessingOperationMaterialRespVO.java | 43 +++ .../ProcessingOperationMaterialSaveReqVO.java | 32 +++ .../DepartmentMaterialMapper.java | 32 +++ .../MaterialClassesMapper.java | 31 +++ .../MaterialHasClassesMapper.java | 28 ++ .../MaterialHasPropertiesMapper.java | 33 +++ .../MaterialPropertiesMapper.java | 32 +++ .../ProcessingInfomationMapper.java | 33 +++ .../ProcessingInfomationOperationMapper.java | 42 +++ .../ProcessingOperationMapper.java | 31 +++ .../ProcessingOperationMaterialMapper.java | 29 +++ .../dataobject/base/MaterialInfomationDO.java | 5 + .../DepartmentMaterialDO.java | 60 +++++ .../materialclasses/MaterialClassesDO.java | 60 +++++ .../MaterialHasClassesDO.java | 45 ++++ .../MaterialHasPropertiesDO.java | 70 +++++ .../MaterialPropertiesDO.java | 65 +++++ .../ProcessingInfomationDO.java | 76 ++++++ .../ProcessingInfomationOperationDO.java | 60 +++++ .../ProcessingOperationDO.java | 60 +++++ .../ProcessingOperationMaterialDO.java | 58 +++++ .../mysql/base/MaterialInfomationMapper.java | 9 +- .../base/MaterialInfomationServiceImpl.java | 77 +++++- .../DepartmentMaterialService.java | 62 +++++ .../DepartmentMaterialServiceImpl.java | 246 ++++++++++++++++++ .../MaterialClassesService.java | 69 +++++ .../MaterialClassesServiceImpl.java | 97 +++++++ .../MaterialHasClassesService.java | 62 +++++ .../MaterialHasClassesServiceImpl.java | 92 +++++++ .../MaterialHasPropertiesService.java | 62 +++++ .../MaterialHasPropertiesServiceImpl.java | 92 +++++++ .../MaterialPropertiesService.java | 62 +++++ .../MaterialPropertiesServiceImpl.java | 92 +++++++ .../ProcessingInfomationService.java | 69 +++++ .../ProcessingInfomationServiceImpl.java | 97 +++++++ .../ProcessingInfomationOperationService.java | 78 ++++++ ...cessingInfomationOperationServiceImpl.java | 182 +++++++++++++ .../ProcessingOperationService.java | 69 +++++ .../ProcessingOperationServiceImpl.java | 97 +++++++ .../ProcessingOperationMaterialService.java | 62 +++++ ...rocessingOperationMaterialServiceImpl.java | 92 +++++++ .../DepartmentMaterialMapper.xml | 12 + .../materialclasses/MaterialClassesMapper.xml | 12 + .../MaterialHasClassesMapper.xml | 12 + .../MaterialHasPropertiesMapper.xml | 12 + .../MaterialPropertiesMapper.xml | 12 + .../ProcessingInfomationMapper.xml | 12 + .../ProcessingInfomationOperationMapper.xml | 12 + .../ProcessingOperationMapper.xml | 12 + .../ProcessingOperationMaterialMapper.xml | 12 + 91 files changed, 4953 insertions(+), 3 deletions(-) create mode 100644 zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/departmentmaterial/DepartmentMaterialController.java create mode 100644 zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/departmentmaterial/vo/DepartmentMaterialPageReqVO.java create mode 100644 zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/departmentmaterial/vo/DepartmentMaterialRespVO.java create mode 100644 zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/departmentmaterial/vo/DepartmentMaterialSaveReqVO.java create mode 100644 zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/materialclasses/MaterialClassesController.java create mode 100644 zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/materialclasses/vo/MaterialClassesPageReqVO.java create mode 100644 zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/materialclasses/vo/MaterialClassesRespVO.java create mode 100644 zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/materialclasses/vo/MaterialClassesSaveReqVO.java create mode 100644 zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/materialclasses/vo/MaterialClassesTreeRespVO.java create mode 100644 zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/materialhasclasses/MaterialHasClassesController.java create mode 100644 zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/materialhasclasses/vo/MaterialHasClassesPageReqVO.java create mode 100644 zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/materialhasclasses/vo/MaterialHasClassesRespVO.java create mode 100644 zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/materialhasclasses/vo/MaterialHasClassesSaveReqVO.java create mode 100644 zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/materialhasproperties/MaterialHasPropertiesController.java create mode 100644 zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/materialhasproperties/vo/MaterialHasPropertiesPageReqVO.java create mode 100644 zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/materialhasproperties/vo/MaterialHasPropertiesRespVO.java create mode 100644 zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/materialhasproperties/vo/MaterialHasPropertiesSaveReqVO.java create mode 100644 zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/materialproperties/MaterialPropertiesController.java create mode 100644 zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/materialproperties/vo/MaterialPropertiesPageReqVO.java create mode 100644 zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/materialproperties/vo/MaterialPropertiesRespVO.java create mode 100644 zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/materialproperties/vo/MaterialPropertiesSaveReqVO.java create mode 100644 zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/processinginfomation/ProcessingInfomationController.java create mode 100644 zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/processinginfomation/vo/ProcessingInfomationPageReqVO.java create mode 100644 zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/processinginfomation/vo/ProcessingInfomationRespVO.java create mode 100644 zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/processinginfomation/vo/ProcessingInfomationSaveReqVO.java create mode 100644 zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/processinginfomation/vo/ProcessingInfomationTreeRespVO.java create mode 100644 zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/processinginfomationoperation/ProcessingInfomationOperationController.java create mode 100644 zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/processinginfomationoperation/vo/ProcessingInfomationOperationPageReqVO.java create mode 100644 zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/processinginfomationoperation/vo/ProcessingInfomationOperationRespVO.java create mode 100644 zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/processinginfomationoperation/vo/ProcessingInfomationOperationSaveReqVO.java create mode 100644 zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/processingoperation/ProcessingOperationController.java create mode 100644 zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/processingoperation/vo/ProcessingOperationPageReqVO.java create mode 100644 zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/processingoperation/vo/ProcessingOperationRespVO.java create mode 100644 zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/processingoperation/vo/ProcessingOperationSaveReqVO.java create mode 100644 zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/processingoperation/vo/ProcessingOperationSimpleRespVO.java create mode 100644 zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/processingoperationmaterial/ProcessingOperationMaterialController.java create mode 100644 zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/processingoperationmaterial/vo/ProcessingOperationMaterialPageReqVO.java create mode 100644 zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/processingoperationmaterial/vo/ProcessingOperationMaterialRespVO.java create mode 100644 zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/processingoperationmaterial/vo/ProcessingOperationMaterialSaveReqVO.java create mode 100644 zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/dal/dao/departmentmaterial/DepartmentMaterialMapper.java create mode 100644 zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/dal/dao/materialclasses/MaterialClassesMapper.java create mode 100644 zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/dal/dao/materialhasclasses/MaterialHasClassesMapper.java create mode 100644 zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/dal/dao/materialhasproperties/MaterialHasPropertiesMapper.java create mode 100644 zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/dal/dao/materialproperties/MaterialPropertiesMapper.java create mode 100644 zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/dal/dao/processinginfomation/ProcessingInfomationMapper.java create mode 100644 zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/dal/dao/processinginfomationoperation/ProcessingInfomationOperationMapper.java create mode 100644 zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/dal/dao/processingoperation/ProcessingOperationMapper.java create mode 100644 zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/dal/dao/processingoperationmaterial/ProcessingOperationMaterialMapper.java create mode 100644 zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/dal/dataobject/departmentmaterial/DepartmentMaterialDO.java create mode 100644 zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/dal/dataobject/materialclasses/MaterialClassesDO.java create mode 100644 zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/dal/dataobject/materialhasclasses/MaterialHasClassesDO.java create mode 100644 zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/dal/dataobject/materialhasproperties/MaterialHasPropertiesDO.java create mode 100644 zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/dal/dataobject/materialproperties/MaterialPropertiesDO.java create mode 100644 zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/dal/dataobject/processinginfomation/ProcessingInfomationDO.java create mode 100644 zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/dal/dataobject/processinginfomationoperation/ProcessingInfomationOperationDO.java create mode 100644 zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/dal/dataobject/processingoperation/ProcessingOperationDO.java create mode 100644 zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/dal/dataobject/processingoperationmaterial/ProcessingOperationMaterialDO.java create mode 100644 zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/service/departmentmaterial/DepartmentMaterialService.java create mode 100644 zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/service/departmentmaterial/DepartmentMaterialServiceImpl.java create mode 100644 zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/service/materialclasses/MaterialClassesService.java create mode 100644 zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/service/materialclasses/MaterialClassesServiceImpl.java create mode 100644 zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/service/materialhasclasses/MaterialHasClassesService.java create mode 100644 zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/service/materialhasclasses/MaterialHasClassesServiceImpl.java create mode 100644 zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/service/materialhasproperties/MaterialHasPropertiesService.java create mode 100644 zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/service/materialhasproperties/MaterialHasPropertiesServiceImpl.java create mode 100644 zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/service/materialproperties/MaterialPropertiesService.java create mode 100644 zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/service/materialproperties/MaterialPropertiesServiceImpl.java create mode 100644 zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/service/processinginfomation/ProcessingInfomationService.java create mode 100644 zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/service/processinginfomation/ProcessingInfomationServiceImpl.java create mode 100644 zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/service/processinginfomationoperation/ProcessingInfomationOperationService.java create mode 100644 zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/service/processinginfomationoperation/ProcessingInfomationOperationServiceImpl.java create mode 100644 zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/service/processingoperation/ProcessingOperationService.java create mode 100644 zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/service/processingoperation/ProcessingOperationServiceImpl.java create mode 100644 zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/service/processingoperationmaterial/ProcessingOperationMaterialService.java create mode 100644 zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/service/processingoperationmaterial/ProcessingOperationMaterialServiceImpl.java create mode 100644 zt-module-base/zt-module-base-server/src/main/resources/mapper/departmentmaterial/DepartmentMaterialMapper.xml create mode 100644 zt-module-base/zt-module-base-server/src/main/resources/mapper/materialclasses/MaterialClassesMapper.xml create mode 100644 zt-module-base/zt-module-base-server/src/main/resources/mapper/materialhasclasses/MaterialHasClassesMapper.xml create mode 100644 zt-module-base/zt-module-base-server/src/main/resources/mapper/materialhasproperties/MaterialHasPropertiesMapper.xml create mode 100644 zt-module-base/zt-module-base-server/src/main/resources/mapper/materialproperties/MaterialPropertiesMapper.xml create mode 100644 zt-module-base/zt-module-base-server/src/main/resources/mapper/processinginfomation/ProcessingInfomationMapper.xml create mode 100644 zt-module-base/zt-module-base-server/src/main/resources/mapper/processinginfomationoperation/ProcessingInfomationOperationMapper.xml create mode 100644 zt-module-base/zt-module-base-server/src/main/resources/mapper/processingoperation/ProcessingOperationMapper.xml create mode 100644 zt-module-base/zt-module-base-server/src/main/resources/mapper/processingoperationmaterial/ProcessingOperationMaterialMapper.xml diff --git a/zt-module-base/zt-module-base-api/src/main/java/com/zt/plat/module/base/enums/ErrorCodeConstants.java b/zt-module-base/zt-module-base-api/src/main/java/com/zt/plat/module/base/enums/ErrorCodeConstants.java index 954c17c..a15b0ee 100644 --- a/zt-module-base/zt-module-base-api/src/main/java/com/zt/plat/module/base/enums/ErrorCodeConstants.java +++ b/zt-module-base/zt-module-base-api/src/main/java/com/zt/plat/module/base/enums/ErrorCodeConstants.java @@ -45,4 +45,16 @@ public interface ErrorCodeConstants { ErrorCode TEMPLATE_INSTANCE_NOT_EXISTS = new ErrorCode(1_006_004_001, "模板实例不存在"); ErrorCode TEMPLATE_INSTANCE_CODE_DUPLICATE = new ErrorCode(1_006_004_002, "实例编码已存在"); + // ========== 物料属性 ========== + ErrorCode MATERIAL_PROPERTIES_NOT_EXISTS = new ErrorCode(1_027_101_001, "物料属性不存在"); + ErrorCode MATERIAL_HAS_PROPERTIES_NOT_EXISTS = new ErrorCode(1_027_101_002, "物料持有属性不存在"); + ErrorCode MATERIAL_CLASSES_NOT_EXISTS = new ErrorCode(1_027_101_003, "物料分类不存在"); + ErrorCode DEPARTMENT_MATERIAL_NOT_EXISTS = new ErrorCode(1_027_101_004, "组织物料不存在"); + ErrorCode MATERIAL_HAS_CLASSES_NOT_EXISTS = new ErrorCode(1_027_101_004, "物料持有属性不存在"); + + // ========== 工艺信息属性 ========== + ErrorCode PROCESSING_INFOMATION_NOT_EXISTS = new ErrorCode(1_027_101_005, "工艺信息不存在"); + ErrorCode PROCESSING_INFOMATION_OPERATION_NOT_EXISTS = new ErrorCode(1_027_101_006, "工艺工序不存在"); + ErrorCode PROCESSING_OPERATION_NOT_EXISTS = new ErrorCode(1_027_101_007, "工序不存在"); + ErrorCode PROCESSING_OPERATION_MATERIAL_NOT_EXISTS = new ErrorCode(1_027_101_008, "工艺工序物料不存在"); } diff --git a/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/base/vo/MaterialInfomationPageReqVO.java b/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/base/vo/MaterialInfomationPageReqVO.java index 5e1fe2b..d81d1ca 100644 --- a/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/base/vo/MaterialInfomationPageReqVO.java +++ b/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/base/vo/MaterialInfomationPageReqVO.java @@ -19,6 +19,9 @@ public class MaterialInfomationPageReqVO extends PageParam { @Schema(description = "物料名称", example = "张三") private String name; + @Schema(description = "分类ID", example = "1024") + private Long classesId; + @Schema(description = "备注") private String remark; diff --git a/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/base/vo/MaterialInfomationRespVO.java b/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/base/vo/MaterialInfomationRespVO.java index 47237be..7fc8b56 100644 --- a/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/base/vo/MaterialInfomationRespVO.java +++ b/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/base/vo/MaterialInfomationRespVO.java @@ -24,6 +24,10 @@ public class MaterialInfomationRespVO { @ExcelProperty("物料名称") private String name; + @Schema(description = "分类ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024") + @ExcelProperty("分类ID") + private Long classesId; + @Schema(description = "备注", requiredMode = Schema.RequiredMode.REQUIRED) @ExcelProperty("备注") private String remark; diff --git a/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/base/vo/MaterialInfomationSaveReqVO.java b/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/base/vo/MaterialInfomationSaveReqVO.java index 80d5cbe..687c587 100644 --- a/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/base/vo/MaterialInfomationSaveReqVO.java +++ b/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/base/vo/MaterialInfomationSaveReqVO.java @@ -2,6 +2,7 @@ package com.zt.plat.module.base.controller.admin.base.vo; import io.swagger.v3.oas.annotations.media.Schema; import jakarta.validation.constraints.NotEmpty; +import jakarta.validation.constraints.NotNull; import lombok.Data; @Schema(description = "管理后台 - 物料信息新增/修改 Request VO") @@ -19,6 +20,10 @@ public class MaterialInfomationSaveReqVO { @NotEmpty(message = "物料名称不能为空") private String name; + @Schema(description = "分类ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024") + @NotNull(message = "所属分类不能为空") + private Long classesId; + @Schema(description = "备注", requiredMode = Schema.RequiredMode.REQUIRED) @NotEmpty(message = "备注不能为空") private String remark; diff --git a/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/departmentmaterial/DepartmentMaterialController.java b/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/departmentmaterial/DepartmentMaterialController.java new file mode 100644 index 0000000..bbde845 --- /dev/null +++ b/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/departmentmaterial/DepartmentMaterialController.java @@ -0,0 +1,107 @@ +package com.zt.plat.module.base.controller.admin.departmentmaterial; + +import org.springframework.web.bind.annotation.*; +import jakarta.annotation.Resource; +import org.springframework.validation.annotation.Validated; +import org.springframework.security.access.prepost.PreAuthorize; + +import io.swagger.v3.oas.annotations.tags.Tag; +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.Operation; + +import jakarta.validation.constraints.*; +import jakarta.validation.*; +import jakarta.servlet.http.*; +import java.util.*; +import java.io.IOException; + +import com.zt.plat.framework.common.pojo.vo.BatchDeleteReqVO; +import com.zt.plat.framework.common.pojo.PageParam; +import com.zt.plat.framework.common.pojo.PageResult; +import com.zt.plat.framework.common.pojo.CommonResult; +import com.zt.plat.framework.common.util.object.BeanUtils; +import static com.zt.plat.framework.common.pojo.CommonResult.success; + +import com.zt.plat.framework.excel.core.util.ExcelUtils; + +import com.zt.plat.framework.apilog.core.annotation.ApiAccessLog; +import static com.zt.plat.framework.apilog.core.enums.OperateTypeEnum.*; + +import com.zt.plat.module.base.controller.admin.departmentmaterial.vo.*; +import com.zt.plat.module.base.dal.dataobject.departmentmaterial.DepartmentMaterialDO; +import com.zt.plat.module.base.service.departmentmaterial.DepartmentMaterialService; + +@Tag(name = "管理后台 - 组织架构物料") +@RestController +@RequestMapping("/base/department-material") +@Validated +public class DepartmentMaterialController { + + + @Resource + private DepartmentMaterialService departmentMaterialService; + + @PostMapping("/create") + @Operation(summary = "创建组织架构物料") + @PreAuthorize("@ss.hasPermission('base:department-material:create')") + public CommonResult createDepartmentMaterial(@Valid @RequestBody DepartmentMaterialSaveReqVO createReqVO) { + return success(departmentMaterialService.createDepartmentMaterial(createReqVO)); + } + + @PutMapping("/update") + @Operation(summary = "更新组织架构物料") + @PreAuthorize("@ss.hasPermission('base:department-material:update')") + public CommonResult updateDepartmentMaterial(@Valid @RequestBody DepartmentMaterialSaveReqVO updateReqVO) { + departmentMaterialService.updateDepartmentMaterial(updateReqVO); + return success(true); + } + + @DeleteMapping("/delete") + @Operation(summary = "删除组织架构物料") + @Parameter(name = "id", description = "编号", required = true) + @PreAuthorize("@ss.hasPermission('base:department-material:delete')") + public CommonResult deleteDepartmentMaterial(@RequestParam("id") Long id) { + departmentMaterialService.deleteDepartmentMaterial(id); + return success(true); + } + + @DeleteMapping("/delete-list") + @Parameter(name = "ids", description = "编号", required = true) + @Operation(summary = "批量删除组织架构物料") + @PreAuthorize("@ss.hasPermission('base:department-material:delete')") + public CommonResult deleteDepartmentMaterialList(@RequestBody BatchDeleteReqVO req) { + departmentMaterialService.deleteDepartmentMaterialListByIds(req.getIds()); + return success(true); + } + + @GetMapping("/get") + @Operation(summary = "获得组织架构物料") + @Parameter(name = "id", description = "编号", required = true, example = "1024") + @PreAuthorize("@ss.hasPermission('base:department-material:query')") + public CommonResult getDepartmentMaterial(@RequestParam("id") Long id) { + DepartmentMaterialDO departmentMaterial = departmentMaterialService.getDepartmentMaterial(id); + return success(BeanUtils.toBean(departmentMaterial, DepartmentMaterialRespVO.class)); + } + + @GetMapping("/page") + @Operation(summary = "获得组织架构物料分页") + @PreAuthorize("@ss.hasPermission('base:department-material:query')") + public CommonResult> getDepartmentMaterialPage(@Valid DepartmentMaterialPageReqVO pageReqVO) { + PageResult pageResult = departmentMaterialService.getDepartmentMaterialPage(pageReqVO); + return success(pageResult); + } + + @GetMapping("/export-excel") + @Operation(summary = "导出组织架构物料 Excel") + @PreAuthorize("@ss.hasPermission('base:department-material:export')") + @ApiAccessLog(operateType = EXPORT) + public void exportDepartmentMaterialExcel(@Valid DepartmentMaterialPageReqVO pageReqVO, + HttpServletResponse response) throws IOException { + pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE); + List list = departmentMaterialService.getDepartmentMaterialPage(pageReqVO).getList(); + // 导出 Excel + ExcelUtils.write(response, "组织架构物料.xls", "数据", DepartmentMaterialRespVO.class, + list); + } + +} \ No newline at end of file diff --git a/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/departmentmaterial/vo/DepartmentMaterialPageReqVO.java b/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/departmentmaterial/vo/DepartmentMaterialPageReqVO.java new file mode 100644 index 0000000..0ae288f --- /dev/null +++ b/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/departmentmaterial/vo/DepartmentMaterialPageReqVO.java @@ -0,0 +1,47 @@ +package com.zt.plat.module.base.controller.admin.departmentmaterial.vo; + +import lombok.*; +import java.util.*; +import io.swagger.v3.oas.annotations.media.Schema; +import com.zt.plat.framework.common.pojo.PageParam; +import org.springframework.format.annotation.DateTimeFormat; +import java.time.LocalDateTime; + +import static com.zt.plat.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; + +@Schema(description = "管理后台 - 组织架构物料分页 Request VO") +@Data +public class DepartmentMaterialPageReqVO extends PageParam { + + @Schema(description = "物料信息ID", example = "3923") + private Long infomationId; + + @Schema(description = "物料信息ID集合(内部使用)") + private List infomationIds; + + @Schema(description = "物料分类ID", example = "30114") + private Long classesId; + + @Schema(description = "部门ID", example = "1001") + private Long deptId; + + @Schema(description = "字典数据值-物料类型") + private String dictionaryDataValue; + + @Schema(description = "状态编码", example = "1") + private String isEnable; + + @Schema(description = "物料编码") + private String materialNumber; + + @Schema(description = "物料名称") + private String materialName; + + @Schema(description = "备注") + private String remark; + + @Schema(description = "创建时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] createTime; + +} \ No newline at end of file diff --git a/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/departmentmaterial/vo/DepartmentMaterialRespVO.java b/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/departmentmaterial/vo/DepartmentMaterialRespVO.java new file mode 100644 index 0000000..4d694bd --- /dev/null +++ b/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/departmentmaterial/vo/DepartmentMaterialRespVO.java @@ -0,0 +1,83 @@ +package com.zt.plat.module.base.controller.admin.departmentmaterial.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; +import java.util.*; +import org.springframework.format.annotation.DateTimeFormat; +import java.time.LocalDateTime; +import com.alibaba.excel.annotation.*; + +@Schema(description = "管理后台 - 组织架构物料 Response VO") +@Data +@ExcelIgnoreUnannotated +public class DepartmentMaterialRespVO { + + @Schema(description = "主键ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "5674") + @ExcelProperty("主键ID") + private Long id; + + @Schema(description = "物料信息ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "3923") + @ExcelProperty("物料信息ID") + private Long infomationId; + + @Schema(description = "物料分类ID", example = "30114") + @ExcelProperty("物料分类ID") + private Long classesId; + + @Schema(description = "字典数据值-物料类型", requiredMode = Schema.RequiredMode.REQUIRED) + @ExcelProperty("字典数据值-物料类型") + private String dictionaryDataValue; + + @Schema(description = "备注", requiredMode = Schema.RequiredMode.REQUIRED) + @ExcelProperty("备注") + private String remark; + + @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED) + @ExcelProperty("创建时间") + private LocalDateTime createTime; + + @Schema(description = "部门ID") + @ExcelIgnore + private Long deptId; + + @Schema(description = "部门名称") + @ExcelProperty("部门名称") + private String deptName; + + @Schema(description = "物料编码") + @ExcelProperty("物料编码") + private String materialNumber; + + @Schema(description = "物料名称") + @ExcelProperty("物料名称") + private String materialName; + + @Schema(description = "物料大类名称") + @ExcelProperty("物料大类") + private String categoryLargeName; + + @Schema(description = "物料中类名称") + @ExcelProperty("物料中类") + private String categoryMediumName; + + @Schema(description = "物料小类名称") + @ExcelProperty("物料小类") + private String categorySmallName; + + @Schema(description = "物料分类路径") + @ExcelProperty("物料分类路径") + private String categoryPath; + + @Schema(description = "组织物料类型名称") + @ExcelProperty("组织物料类型") + private String dictionaryDataLabel; + + @Schema(description = "状态编码") + @ExcelProperty("状态编码") + private String isEnable; + + @Schema(description = "状态名称") + @ExcelProperty("状态") + private String statusLabel; + +} \ No newline at end of file diff --git a/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/departmentmaterial/vo/DepartmentMaterialSaveReqVO.java b/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/departmentmaterial/vo/DepartmentMaterialSaveReqVO.java new file mode 100644 index 0000000..375428a --- /dev/null +++ b/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/departmentmaterial/vo/DepartmentMaterialSaveReqVO.java @@ -0,0 +1,30 @@ +package com.zt.plat.module.base.controller.admin.departmentmaterial.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; +import java.util.*; +import jakarta.validation.constraints.*; + +@Schema(description = "管理后台 - 组织架构物料新增/修改 Request VO") +@Data +public class DepartmentMaterialSaveReqVO { + + @Schema(description = "主键ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "5674") + private Long id; + + @Schema(description = "物料信息ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "3923") + @NotNull(message = "物料信息ID不能为空") + private Long infomationId; + + @Schema(description = "物料分类ID", example = "30114") + private Long classesId; + + @Schema(description = "字典数据值-物料类型", requiredMode = Schema.RequiredMode.REQUIRED) + @NotEmpty(message = "字典数据值-物料类型不能为空") + private String dictionaryDataValue; + + @Schema(description = "备注", requiredMode = Schema.RequiredMode.REQUIRED) + @NotEmpty(message = "备注不能为空") + private String remark; + +} \ No newline at end of file diff --git a/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/materialclasses/MaterialClassesController.java b/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/materialclasses/MaterialClassesController.java new file mode 100644 index 0000000..acb855e --- /dev/null +++ b/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/materialclasses/MaterialClassesController.java @@ -0,0 +1,138 @@ +package com.zt.plat.module.base.controller.admin.materialclasses; + +import org.springframework.web.bind.annotation.*; +import jakarta.annotation.Resource; +import org.springframework.validation.annotation.Validated; +import org.springframework.security.access.prepost.PreAuthorize; + +import io.swagger.v3.oas.annotations.tags.Tag; +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.Operation; + +import jakarta.validation.constraints.*; +import jakarta.validation.*; +import jakarta.servlet.http.*; +import java.util.*; +import java.io.IOException; + +import com.zt.plat.framework.common.pojo.vo.BatchDeleteReqVO; +import com.zt.plat.framework.common.pojo.PageParam; +import com.zt.plat.framework.common.pojo.PageResult; +import com.zt.plat.framework.common.pojo.CommonResult; +import com.zt.plat.framework.common.util.object.BeanUtils; +import static com.zt.plat.framework.common.pojo.CommonResult.success; + +import com.zt.plat.framework.excel.core.util.ExcelUtils; + +import com.zt.plat.framework.apilog.core.annotation.ApiAccessLog; +import static com.zt.plat.framework.apilog.core.enums.OperateTypeEnum.*; + +import com.zt.plat.module.base.controller.admin.materialclasses.vo.*; +import com.zt.plat.module.base.dal.dataobject.materialclasses.MaterialClassesDO; +import com.zt.plat.module.base.service.materialclasses.MaterialClassesService; + +@Tag(name = "管理后台 - 物料分类") +@RestController +@RequestMapping("/base/material-classes") +@Validated +public class MaterialClassesController { + + + @Resource + private MaterialClassesService materialClassesService; + + @PostMapping("/create") + @Operation(summary = "创建物料分类") + @PreAuthorize("@ss.hasPermission('base:material-classes:create')") + public CommonResult createMaterialClasses(@Valid @RequestBody MaterialClassesSaveReqVO createReqVO) { + return success(materialClassesService.createMaterialClasses(createReqVO)); + } + + @PutMapping("/update") + @Operation(summary = "更新物料分类") + @PreAuthorize("@ss.hasPermission('base:material-classes:update')") + public CommonResult updateMaterialClasses(@Valid @RequestBody MaterialClassesSaveReqVO updateReqVO) { + materialClassesService.updateMaterialClasses(updateReqVO); + return success(true); + } + + @DeleteMapping("/delete") + @Operation(summary = "删除物料分类") + @Parameter(name = "id", description = "编号", required = true) + @PreAuthorize("@ss.hasPermission('base:material-classes:delete')") + public CommonResult deleteMaterialClasses(@RequestParam("id") Long id) { + materialClassesService.deleteMaterialClasses(id); + return success(true); + } + + @DeleteMapping("/delete-list") + @Parameter(name = "ids", description = "编号", required = true) + @Operation(summary = "批量删除物料分类") + @PreAuthorize("@ss.hasPermission('base:material-classes:delete')") + public CommonResult deleteMaterialClassesList(@RequestBody BatchDeleteReqVO req) { + materialClassesService.deleteMaterialClassesListByIds(req.getIds()); + return success(true); + } + + @GetMapping("/get") + @Operation(summary = "获得物料分类") + @Parameter(name = "id", description = "编号", required = true, example = "1024") + @PreAuthorize("@ss.hasPermission('base:material-classes:query')") + public CommonResult getMaterialClasses(@RequestParam("id") Long id) { + MaterialClassesDO materialClasses = materialClassesService.getMaterialClasses(id); + return success(BeanUtils.toBean(materialClasses, MaterialClassesRespVO.class)); + } + + @GetMapping("/page") + @Operation(summary = "获得物料分类分页") + @PreAuthorize("@ss.hasPermission('base:material-classes:query')") + public CommonResult> getMaterialClassesPage(@Valid MaterialClassesPageReqVO pageReqVO) { + PageResult pageResult = materialClassesService.getMaterialClassesPage(pageReqVO); + return success(BeanUtils.toBean(pageResult, MaterialClassesRespVO.class)); + } + + @GetMapping("/export-excel") + @Operation(summary = "导出物料分类 Excel") + @PreAuthorize("@ss.hasPermission('base:material-classes:export')") + @ApiAccessLog(operateType = EXPORT) + public void exportMaterialClassesExcel(@Valid MaterialClassesPageReqVO pageReqVO, + HttpServletResponse response) throws IOException { + pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE); + List list = materialClassesService.getMaterialClassesPage(pageReqVO).getList(); + // 导出 Excel + ExcelUtils.write(response, "物料分类.xls", "数据", MaterialClassesRespVO.class, + BeanUtils.toBean(list, MaterialClassesRespVO.class)); + } + + @GetMapping("/tree") + @Operation(summary = "获得物料分类树") + @PreAuthorize("@ss.hasPermission('base:material-classes:query')") + public CommonResult> getMaterialClassesTree() { + List list = materialClassesService.getMaterialClassesList(); + return success(buildTree(list)); + } + + private List buildTree(List list) { + if (list == null || list.isEmpty()) { + return Collections.emptyList(); + } + Map nodeMap = new LinkedHashMap<>(); + list.stream() + .sorted(Comparator.comparing(MaterialClassesDO::getId)) + .forEach(item -> { + MaterialClassesTreeRespVO node = BeanUtils.toBean(item, MaterialClassesTreeRespVO.class); + nodeMap.put(node.getId(), node); + }); + List roots = new ArrayList<>(); + nodeMap.values().forEach(node -> { + Long parentId = node.getParentId(); + if (parentId == null || parentId == 0 || !nodeMap.containsKey(parentId)) { + roots.add(node); + } else { + nodeMap.get(parentId).getChildren().add(node); + } + }); + return roots; + } + +} \ No newline at end of file diff --git a/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/materialclasses/vo/MaterialClassesPageReqVO.java b/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/materialclasses/vo/MaterialClassesPageReqVO.java new file mode 100644 index 0000000..6068302 --- /dev/null +++ b/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/materialclasses/vo/MaterialClassesPageReqVO.java @@ -0,0 +1,35 @@ +package com.zt.plat.module.base.controller.admin.materialclasses.vo; + +import lombok.*; +import java.util.*; +import io.swagger.v3.oas.annotations.media.Schema; +import com.zt.plat.framework.common.pojo.PageParam; +import org.springframework.format.annotation.DateTimeFormat; +import java.time.LocalDateTime; + +import static com.zt.plat.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; + +@Schema(description = "管理后台 - 物料分类分页 Request VO") +@Data +public class MaterialClassesPageReqVO extends PageParam { + + @Schema(description = "父级ID", example = "20706") + private Long parentId; + + @Schema(description = "分类编码") + private String code; + + @Schema(description = "分类名称", example = "赵六") + private String name; + + @Schema(description = "分类级别-用于类别层级(大/中/小类)") + private Long level; + + @Schema(description = "备注") + private String remark; + + @Schema(description = "创建时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] createTime; + +} \ No newline at end of file diff --git a/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/materialclasses/vo/MaterialClassesRespVO.java b/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/materialclasses/vo/MaterialClassesRespVO.java new file mode 100644 index 0000000..a4825a7 --- /dev/null +++ b/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/materialclasses/vo/MaterialClassesRespVO.java @@ -0,0 +1,43 @@ +package com.zt.plat.module.base.controller.admin.materialclasses.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; +import java.util.*; +import org.springframework.format.annotation.DateTimeFormat; +import java.time.LocalDateTime; +import com.alibaba.excel.annotation.*; + +@Schema(description = "管理后台 - 物料分类 Response VO") +@Data +@ExcelIgnoreUnannotated +public class MaterialClassesRespVO { + + @Schema(description = "主键ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "4051") + @ExcelProperty("主键ID") + private Long id; + + @Schema(description = "父级ID", example = "20706") + @ExcelProperty("父级ID") + private Long parentId; + + @Schema(description = "分类编码", requiredMode = Schema.RequiredMode.REQUIRED) + @ExcelProperty("分类编码") + private String code; + + @Schema(description = "分类名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "赵六") + @ExcelProperty("分类名称") + private String name; + + @Schema(description = "分类级别-用于类别层级(大/中/小类)") + @ExcelProperty("分类级别-用于类别层级(大/中/小类)") + private Long level; + + @Schema(description = "备注", requiredMode = Schema.RequiredMode.REQUIRED) + @ExcelProperty("备注") + private String remark; + + @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED) + @ExcelProperty("创建时间") + private LocalDateTime createTime; + +} \ No newline at end of file diff --git a/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/materialclasses/vo/MaterialClassesSaveReqVO.java b/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/materialclasses/vo/MaterialClassesSaveReqVO.java new file mode 100644 index 0000000..92ffea0 --- /dev/null +++ b/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/materialclasses/vo/MaterialClassesSaveReqVO.java @@ -0,0 +1,33 @@ +package com.zt.plat.module.base.controller.admin.materialclasses.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; +import java.util.*; +import jakarta.validation.constraints.*; + +@Schema(description = "管理后台 - 物料分类新增/修改 Request VO") +@Data +public class MaterialClassesSaveReqVO { + + @Schema(description = "主键ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "4051") + private Long id; + + @Schema(description = "父级ID", example = "20706") + private Long parentId; + + @Schema(description = "分类编码", requiredMode = Schema.RequiredMode.REQUIRED) + @NotEmpty(message = "分类编码不能为空") + private String code; + + @Schema(description = "分类名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "赵六") + @NotEmpty(message = "分类名称不能为空") + private String name; + + @Schema(description = "分类级别-用于类别层级(大/中/小类)") + private Long level; + + @Schema(description = "备注", requiredMode = Schema.RequiredMode.REQUIRED) + @NotEmpty(message = "备注不能为空") + private String remark; + +} \ No newline at end of file diff --git a/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/materialclasses/vo/MaterialClassesTreeRespVO.java b/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/materialclasses/vo/MaterialClassesTreeRespVO.java new file mode 100644 index 0000000..f47d215 --- /dev/null +++ b/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/materialclasses/vo/MaterialClassesTreeRespVO.java @@ -0,0 +1,33 @@ +package com.zt.plat.module.base.controller.admin.materialclasses.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import java.util.ArrayList; +import java.util.List; + +@Schema(description = "管理后台 - 物料分类树节点 Response VO") +@Data +public class MaterialClassesTreeRespVO { + + @Schema(description = "主键ID", example = "1001") + private Long id; + + @Schema(description = "父级ID", example = "0") + private Long parentId; + + @Schema(description = "分类编码", example = "CL-001") + private String code; + + @Schema(description = "分类名称", example = "原材料") + private String name; + + @Schema(description = "分类级别") + private Long level; + + @Schema(description = "备注") + private String remark; + + @Schema(description = "子节点") + private List children = new ArrayList<>(); +} diff --git a/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/materialhasclasses/MaterialHasClassesController.java b/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/materialhasclasses/MaterialHasClassesController.java new file mode 100644 index 0000000..2dcc841 --- /dev/null +++ b/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/materialhasclasses/MaterialHasClassesController.java @@ -0,0 +1,107 @@ +package com.zt.plat.module.base.controller.admin.materialhasclasses; + +import org.springframework.web.bind.annotation.*; +import jakarta.annotation.Resource; +import org.springframework.validation.annotation.Validated; +import org.springframework.security.access.prepost.PreAuthorize; + +import io.swagger.v3.oas.annotations.tags.Tag; +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.Operation; + +import jakarta.validation.constraints.*; +import jakarta.validation.*; +import jakarta.servlet.http.*; +import java.util.*; +import java.io.IOException; + +import com.zt.plat.framework.common.pojo.vo.BatchDeleteReqVO; +import com.zt.plat.framework.common.pojo.PageParam; +import com.zt.plat.framework.common.pojo.PageResult; +import com.zt.plat.framework.common.pojo.CommonResult; +import com.zt.plat.framework.common.util.object.BeanUtils; +import static com.zt.plat.framework.common.pojo.CommonResult.success; + +import com.zt.plat.framework.excel.core.util.ExcelUtils; + +import com.zt.plat.framework.apilog.core.annotation.ApiAccessLog; +import static com.zt.plat.framework.apilog.core.enums.OperateTypeEnum.*; + +import com.zt.plat.module.base.controller.admin.materialhasclasses.vo.*; +import com.zt.plat.module.base.dal.dataobject.materialhasclasses.MaterialHasClassesDO; +import com.zt.plat.module.base.service.materialhasclasses.MaterialHasClassesService; + +@Tag(name = "管理后台 - 物料持有分类") +@RestController +@RequestMapping("/base/material-has-classes") +@Validated +public class MaterialHasClassesController { + + + @Resource + private MaterialHasClassesService materialHasClassesService; + + @PostMapping("/create") + @Operation(summary = "创建物料持有分类") + @PreAuthorize("@ss.hasPermission('base:material-has-classes:create')") + public CommonResult createMaterialHasClasses(@Valid @RequestBody MaterialHasClassesSaveReqVO createReqVO) { + return success(materialHasClassesService.createMaterialHasClasses(createReqVO)); + } + + @PutMapping("/update") + @Operation(summary = "更新物料持有分类") + @PreAuthorize("@ss.hasPermission('base:material-has-classes:update')") + public CommonResult updateMaterialHasClasses(@Valid @RequestBody MaterialHasClassesSaveReqVO updateReqVO) { + materialHasClassesService.updateMaterialHasClasses(updateReqVO); + return success(true); + } + + @DeleteMapping("/delete") + @Operation(summary = "删除物料持有分类") + @Parameter(name = "id", description = "编号", required = true) + @PreAuthorize("@ss.hasPermission('base:material-has-classes:delete')") + public CommonResult deleteMaterialHasClasses(@RequestParam("id") Long id) { + materialHasClassesService.deleteMaterialHasClasses(id); + return success(true); + } + + @DeleteMapping("/delete-list") + @Parameter(name = "ids", description = "编号", required = true) + @Operation(summary = "批量删除物料持有分类") + @PreAuthorize("@ss.hasPermission('base:material-has-classes:delete')") + public CommonResult deleteMaterialHasClassesList(@RequestBody BatchDeleteReqVO req) { + materialHasClassesService.deleteMaterialHasClassesListByIds(req.getIds()); + return success(true); + } + + @GetMapping("/get") + @Operation(summary = "获得物料持有分类") + @Parameter(name = "id", description = "编号", required = true, example = "1024") + @PreAuthorize("@ss.hasPermission('base:material-has-classes:query')") + public CommonResult getMaterialHasClasses(@RequestParam("id") Long id) { + MaterialHasClassesDO materialHasClasses = materialHasClassesService.getMaterialHasClasses(id); + return success(BeanUtils.toBean(materialHasClasses, MaterialHasClassesRespVO.class)); + } + + @GetMapping("/page") + @Operation(summary = "获得物料持有分类分页") + @PreAuthorize("@ss.hasPermission('base:material-has-classes:query')") + public CommonResult> getMaterialHasClassesPage(@Valid MaterialHasClassesPageReqVO pageReqVO) { + PageResult pageResult = materialHasClassesService.getMaterialHasClassesPage(pageReqVO); + return success(BeanUtils.toBean(pageResult, MaterialHasClassesRespVO.class)); + } + + @GetMapping("/export-excel") + @Operation(summary = "导出物料持有分类 Excel") + @PreAuthorize("@ss.hasPermission('base:material-has-classes:export')") + @ApiAccessLog(operateType = EXPORT) + public void exportMaterialHasClassesExcel(@Valid MaterialHasClassesPageReqVO pageReqVO, + HttpServletResponse response) throws IOException { + pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE); + List list = materialHasClassesService.getMaterialHasClassesPage(pageReqVO).getList(); + // 导出 Excel + ExcelUtils.write(response, "物料持有分类.xls", "数据", MaterialHasClassesRespVO.class, + BeanUtils.toBean(list, MaterialHasClassesRespVO.class)); + } + +} \ No newline at end of file diff --git a/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/materialhasclasses/vo/MaterialHasClassesPageReqVO.java b/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/materialhasclasses/vo/MaterialHasClassesPageReqVO.java new file mode 100644 index 0000000..3f5efd1 --- /dev/null +++ b/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/materialhasclasses/vo/MaterialHasClassesPageReqVO.java @@ -0,0 +1,26 @@ +package com.zt.plat.module.base.controller.admin.materialhasclasses.vo; + +import lombok.*; +import java.util.*; +import io.swagger.v3.oas.annotations.media.Schema; +import com.zt.plat.framework.common.pojo.PageParam; +import org.springframework.format.annotation.DateTimeFormat; +import java.time.LocalDateTime; + +import static com.zt.plat.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; + +@Schema(description = "管理后台 - 物料持有分类分页 Request VO") +@Data +public class MaterialHasClassesPageReqVO extends PageParam { + + @Schema(description = "物料信息ID", example = "31031") + private Long infomationId; + + @Schema(description = "创建时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] createTime; + + @Schema(description = "分类ID", example = "5914") + private Long classesId; + +} \ No newline at end of file diff --git a/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/materialhasclasses/vo/MaterialHasClassesRespVO.java b/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/materialhasclasses/vo/MaterialHasClassesRespVO.java new file mode 100644 index 0000000..b5d6bdc --- /dev/null +++ b/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/materialhasclasses/vo/MaterialHasClassesRespVO.java @@ -0,0 +1,31 @@ +package com.zt.plat.module.base.controller.admin.materialhasclasses.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; +import java.util.*; +import org.springframework.format.annotation.DateTimeFormat; +import java.time.LocalDateTime; +import com.alibaba.excel.annotation.*; + +@Schema(description = "管理后台 - 物料持有分类 Response VO") +@Data +@ExcelIgnoreUnannotated +public class MaterialHasClassesRespVO { + + @Schema(description = "主键ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "16228") + @ExcelProperty("主键ID") + private Long id; + + @Schema(description = "物料信息ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "31031") + @ExcelProperty("物料信息ID") + private Long infomationId; + + @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED) + @ExcelProperty("创建时间") + private LocalDateTime createTime; + + @Schema(description = "分类ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "5914") + @ExcelProperty("分类ID") + private Long classesId; + +} \ No newline at end of file diff --git a/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/materialhasclasses/vo/MaterialHasClassesSaveReqVO.java b/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/materialhasclasses/vo/MaterialHasClassesSaveReqVO.java new file mode 100644 index 0000000..1c0dbbc --- /dev/null +++ b/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/materialhasclasses/vo/MaterialHasClassesSaveReqVO.java @@ -0,0 +1,23 @@ +package com.zt.plat.module.base.controller.admin.materialhasclasses.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; +import java.util.*; +import jakarta.validation.constraints.*; + +@Schema(description = "管理后台 - 物料持有分类新增/修改 Request VO") +@Data +public class MaterialHasClassesSaveReqVO { + + @Schema(description = "主键ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "16228") + private Long id; + + @Schema(description = "物料信息ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "31031") + @NotNull(message = "物料信息ID不能为空") + private Long infomationId; + + @Schema(description = "分类ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "5914") + @NotNull(message = "分类ID不能为空") + private Long classesId; + +} \ No newline at end of file diff --git a/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/materialhasproperties/MaterialHasPropertiesController.java b/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/materialhasproperties/MaterialHasPropertiesController.java new file mode 100644 index 0000000..74cd336 --- /dev/null +++ b/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/materialhasproperties/MaterialHasPropertiesController.java @@ -0,0 +1,107 @@ +package com.zt.plat.module.base.controller.admin.materialhasproperties; + +import org.springframework.web.bind.annotation.*; +import jakarta.annotation.Resource; +import org.springframework.validation.annotation.Validated; +import org.springframework.security.access.prepost.PreAuthorize; + +import io.swagger.v3.oas.annotations.tags.Tag; +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.Operation; + +import jakarta.validation.constraints.*; +import jakarta.validation.*; +import jakarta.servlet.http.*; +import java.util.*; +import java.io.IOException; + +import com.zt.plat.framework.common.pojo.vo.BatchDeleteReqVO; +import com.zt.plat.framework.common.pojo.PageParam; +import com.zt.plat.framework.common.pojo.PageResult; +import com.zt.plat.framework.common.pojo.CommonResult; +import com.zt.plat.framework.common.util.object.BeanUtils; +import static com.zt.plat.framework.common.pojo.CommonResult.success; + +import com.zt.plat.framework.excel.core.util.ExcelUtils; + +import com.zt.plat.framework.apilog.core.annotation.ApiAccessLog; +import static com.zt.plat.framework.apilog.core.enums.OperateTypeEnum.*; + +import com.zt.plat.module.base.controller.admin.materialhasproperties.vo.*; +import com.zt.plat.module.base.dal.dataobject.materialhasproperties.MaterialHasPropertiesDO; +import com.zt.plat.module.base.service.materialhasproperties.MaterialHasPropertiesService; + +@Tag(name = "管理后台 - 物料持有属性") +@RestController +@RequestMapping("/base/material-has-properties") +@Validated +public class MaterialHasPropertiesController { + + + @Resource + private MaterialHasPropertiesService materialHasPropertiesService; + + @PostMapping("/create") + @Operation(summary = "创建物料持有属性") + @PreAuthorize("@ss.hasPermission('base:material-has-properties:create')") + public CommonResult createMaterialHasProperties(@Valid @RequestBody MaterialHasPropertiesSaveReqVO createReqVO) { + return success(materialHasPropertiesService.createMaterialHasProperties(createReqVO)); + } + + @PutMapping("/update") + @Operation(summary = "更新物料持有属性") + @PreAuthorize("@ss.hasPermission('base:material-has-properties:update')") + public CommonResult updateMaterialHasProperties(@Valid @RequestBody MaterialHasPropertiesSaveReqVO updateReqVO) { + materialHasPropertiesService.updateMaterialHasProperties(updateReqVO); + return success(true); + } + + @DeleteMapping("/delete") + @Operation(summary = "删除物料持有属性") + @Parameter(name = "id", description = "编号", required = true) + @PreAuthorize("@ss.hasPermission('base:material-has-properties:delete')") + public CommonResult deleteMaterialHasProperties(@RequestParam("id") Long id) { + materialHasPropertiesService.deleteMaterialHasProperties(id); + return success(true); + } + + @DeleteMapping("/delete-list") + @Parameter(name = "ids", description = "编号", required = true) + @Operation(summary = "批量删除物料持有属性") + @PreAuthorize("@ss.hasPermission('base:material-has-properties:delete')") + public CommonResult deleteMaterialHasPropertiesList(@RequestBody BatchDeleteReqVO req) { + materialHasPropertiesService.deleteMaterialHasPropertiesListByIds(req.getIds()); + return success(true); + } + + @GetMapping("/get") + @Operation(summary = "获得物料持有属性") + @Parameter(name = "id", description = "编号", required = true, example = "1024") + @PreAuthorize("@ss.hasPermission('base:material-has-properties:query')") + public CommonResult getMaterialHasProperties(@RequestParam("id") Long id) { + MaterialHasPropertiesDO materialHasProperties = materialHasPropertiesService.getMaterialHasProperties(id); + return success(BeanUtils.toBean(materialHasProperties, MaterialHasPropertiesRespVO.class)); + } + + @GetMapping("/page") + @Operation(summary = "获得物料持有属性分页") + @PreAuthorize("@ss.hasPermission('base:material-has-properties:query')") + public CommonResult> getMaterialHasPropertiesPage(@Valid MaterialHasPropertiesPageReqVO pageReqVO) { + PageResult pageResult = materialHasPropertiesService.getMaterialHasPropertiesPage(pageReqVO); + return success(BeanUtils.toBean(pageResult, MaterialHasPropertiesRespVO.class)); + } + + @GetMapping("/export-excel") + @Operation(summary = "导出物料持有属性 Excel") + @PreAuthorize("@ss.hasPermission('base:material-has-properties:export')") + @ApiAccessLog(operateType = EXPORT) + public void exportMaterialHasPropertiesExcel(@Valid MaterialHasPropertiesPageReqVO pageReqVO, + HttpServletResponse response) throws IOException { + pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE); + List list = materialHasPropertiesService.getMaterialHasPropertiesPage(pageReqVO).getList(); + // 导出 Excel + ExcelUtils.write(response, "物料持有属性.xls", "数据", MaterialHasPropertiesRespVO.class, + BeanUtils.toBean(list, MaterialHasPropertiesRespVO.class)); + } + +} \ No newline at end of file diff --git a/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/materialhasproperties/vo/MaterialHasPropertiesPageReqVO.java b/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/materialhasproperties/vo/MaterialHasPropertiesPageReqVO.java new file mode 100644 index 0000000..f1a3349 --- /dev/null +++ b/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/materialhasproperties/vo/MaterialHasPropertiesPageReqVO.java @@ -0,0 +1,41 @@ +package com.zt.plat.module.base.controller.admin.materialhasproperties.vo; + +import lombok.*; +import java.util.*; +import io.swagger.v3.oas.annotations.media.Schema; +import com.zt.plat.framework.common.pojo.PageParam; +import org.springframework.format.annotation.DateTimeFormat; +import java.time.LocalDateTime; + +import static com.zt.plat.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; + +@Schema(description = "管理后台 - 物料持有属性分页 Request VO") +@Data +public class MaterialHasPropertiesPageReqVO extends PageParam { + + @Schema(description = "物料信息ID", example = "2614") + private Long infomationId; + + @Schema(description = "属性ID", example = "8607") + private Long propertiesId; + + @Schema(description = "计量单位ID-默认计量单位", example = "23731") + private Long unitId; + + @Schema(description = "属性值") + private String value; + + @Schema(description = "是否关键属性-关键属性表示物料唯一性") + private Integer isKey; + + @Schema(description = "是否计量定价") + private Integer isMetering; + + @Schema(description = "排序号") + private Long sort; + + @Schema(description = "创建时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] createTime; + +} \ No newline at end of file diff --git a/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/materialhasproperties/vo/MaterialHasPropertiesRespVO.java b/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/materialhasproperties/vo/MaterialHasPropertiesRespVO.java new file mode 100644 index 0000000..79cdc7a --- /dev/null +++ b/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/materialhasproperties/vo/MaterialHasPropertiesRespVO.java @@ -0,0 +1,51 @@ +package com.zt.plat.module.base.controller.admin.materialhasproperties.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; +import java.util.*; +import org.springframework.format.annotation.DateTimeFormat; +import java.time.LocalDateTime; +import com.alibaba.excel.annotation.*; + +@Schema(description = "管理后台 - 物料持有属性 Response VO") +@Data +@ExcelIgnoreUnannotated +public class MaterialHasPropertiesRespVO { + + @Schema(description = "主键ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "6800") + @ExcelProperty("主键ID") + private Long id; + + @Schema(description = "物料信息ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "2614") + @ExcelProperty("物料信息ID") + private Long infomationId; + + @Schema(description = "属性ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "8607") + @ExcelProperty("属性ID") + private Long propertiesId; + + @Schema(description = "计量单位ID-默认计量单位", example = "23731") + @ExcelProperty("计量单位ID-默认计量单位") + private Long unitId; + + @Schema(description = "属性值", requiredMode = Schema.RequiredMode.REQUIRED) + @ExcelProperty("属性值") + private String value; + + @Schema(description = "是否关键属性-关键属性表示物料唯一性") + @ExcelProperty("是否关键属性-关键属性表示物料唯一性") + private Integer isKey; + + @Schema(description = "是否计量定价") + @ExcelProperty("是否计量定价") + private Integer isMetering; + + @Schema(description = "排序号") + @ExcelProperty("排序号") + private Long sort; + + @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED) + @ExcelProperty("创建时间") + private LocalDateTime createTime; + +} \ No newline at end of file diff --git a/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/materialhasproperties/vo/MaterialHasPropertiesSaveReqVO.java b/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/materialhasproperties/vo/MaterialHasPropertiesSaveReqVO.java new file mode 100644 index 0000000..e3092ab --- /dev/null +++ b/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/materialhasproperties/vo/MaterialHasPropertiesSaveReqVO.java @@ -0,0 +1,39 @@ +package com.zt.plat.module.base.controller.admin.materialhasproperties.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; +import java.util.*; +import jakarta.validation.constraints.*; + +@Schema(description = "管理后台 - 物料持有属性新增/修改 Request VO") +@Data +public class MaterialHasPropertiesSaveReqVO { + + @Schema(description = "主键ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "6800") + private Long id; + + @Schema(description = "物料信息ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "2614") + @NotNull(message = "物料信息ID不能为空") + private Long infomationId; + + @Schema(description = "属性ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "8607") + @NotNull(message = "属性ID不能为空") + private Long propertiesId; + + @Schema(description = "计量单位ID-默认计量单位", example = "23731") + private Long unitId; + + @Schema(description = "属性值", requiredMode = Schema.RequiredMode.REQUIRED) + @NotEmpty(message = "属性值不能为空") + private String value; + + @Schema(description = "是否关键属性-关键属性表示物料唯一性") + private Integer isKey; + + @Schema(description = "是否计量定价") + private Integer isMetering; + + @Schema(description = "排序号") + private Long sort; + +} \ No newline at end of file diff --git a/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/materialproperties/MaterialPropertiesController.java b/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/materialproperties/MaterialPropertiesController.java new file mode 100644 index 0000000..0929073 --- /dev/null +++ b/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/materialproperties/MaterialPropertiesController.java @@ -0,0 +1,107 @@ +package com.zt.plat.module.base.controller.admin.materialproperties; + +import org.springframework.web.bind.annotation.*; +import jakarta.annotation.Resource; +import org.springframework.validation.annotation.Validated; +import org.springframework.security.access.prepost.PreAuthorize; + +import io.swagger.v3.oas.annotations.tags.Tag; +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.Operation; + +import jakarta.validation.constraints.*; +import jakarta.validation.*; +import jakarta.servlet.http.*; +import java.util.*; +import java.io.IOException; + +import com.zt.plat.framework.common.pojo.vo.BatchDeleteReqVO; +import com.zt.plat.framework.common.pojo.PageParam; +import com.zt.plat.framework.common.pojo.PageResult; +import com.zt.plat.framework.common.pojo.CommonResult; +import com.zt.plat.framework.common.util.object.BeanUtils; +import static com.zt.plat.framework.common.pojo.CommonResult.success; + +import com.zt.plat.framework.excel.core.util.ExcelUtils; + +import com.zt.plat.framework.apilog.core.annotation.ApiAccessLog; +import static com.zt.plat.framework.apilog.core.enums.OperateTypeEnum.*; + +import com.zt.plat.module.base.controller.admin.materialproperties.vo.*; +import com.zt.plat.module.base.dal.dataobject.materialproperties.MaterialPropertiesDO; +import com.zt.plat.module.base.service.materialproperties.MaterialPropertiesService; + +@Tag(name = "管理后台 - 物料属性") +@RestController +@RequestMapping("/base/material-properties") +@Validated +public class MaterialPropertiesController { + + + @Resource + private MaterialPropertiesService materialPropertiesService; + + @PostMapping("/create") + @Operation(summary = "创建物料属性") + @PreAuthorize("@ss.hasPermission('base:material-properties:create')") + public CommonResult createMaterialProperties(@Valid @RequestBody MaterialPropertiesSaveReqVO createReqVO) { + return success(materialPropertiesService.createMaterialProperties(createReqVO)); + } + + @PutMapping("/update") + @Operation(summary = "更新物料属性") + @PreAuthorize("@ss.hasPermission('base:material-properties:update')") + public CommonResult updateMaterialProperties(@Valid @RequestBody MaterialPropertiesSaveReqVO updateReqVO) { + materialPropertiesService.updateMaterialProperties(updateReqVO); + return success(true); + } + + @DeleteMapping("/delete") + @Operation(summary = "删除物料属性") + @Parameter(name = "id", description = "编号", required = true) + @PreAuthorize("@ss.hasPermission('base:material-properties:delete')") + public CommonResult deleteMaterialProperties(@RequestParam("id") Long id) { + materialPropertiesService.deleteMaterialProperties(id); + return success(true); + } + + @DeleteMapping("/delete-list") + @Parameter(name = "ids", description = "编号", required = true) + @Operation(summary = "批量删除物料属性") + @PreAuthorize("@ss.hasPermission('base:material-properties:delete')") + public CommonResult deleteMaterialPropertiesList(@RequestBody BatchDeleteReqVO req) { + materialPropertiesService.deleteMaterialPropertiesListByIds(req.getIds()); + return success(true); + } + + @GetMapping("/get") + @Operation(summary = "获得物料属性") + @Parameter(name = "id", description = "编号", required = true, example = "1024") + @PreAuthorize("@ss.hasPermission('base:material-properties:query')") + public CommonResult getMaterialProperties(@RequestParam("id") Long id) { + MaterialPropertiesDO materialProperties = materialPropertiesService.getMaterialProperties(id); + return success(BeanUtils.toBean(materialProperties, MaterialPropertiesRespVO.class)); + } + + @GetMapping("/page") + @Operation(summary = "获得物料属性分页") + @PreAuthorize("@ss.hasPermission('base:material-properties:query')") + public CommonResult> getMaterialPropertiesPage(@Valid MaterialPropertiesPageReqVO pageReqVO) { + PageResult pageResult = materialPropertiesService.getMaterialPropertiesPage(pageReqVO); + return success(BeanUtils.toBean(pageResult, MaterialPropertiesRespVO.class)); + } + + @GetMapping("/export-excel") + @Operation(summary = "导出物料属性 Excel") + @PreAuthorize("@ss.hasPermission('base:material-properties:export')") + @ApiAccessLog(operateType = EXPORT) + public void exportMaterialPropertiesExcel(@Valid MaterialPropertiesPageReqVO pageReqVO, + HttpServletResponse response) throws IOException { + pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE); + List list = materialPropertiesService.getMaterialPropertiesPage(pageReqVO).getList(); + // 导出 Excel + ExcelUtils.write(response, "物料属性.xls", "数据", MaterialPropertiesRespVO.class, + BeanUtils.toBean(list, MaterialPropertiesRespVO.class)); + } + +} \ No newline at end of file diff --git a/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/materialproperties/vo/MaterialPropertiesPageReqVO.java b/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/materialproperties/vo/MaterialPropertiesPageReqVO.java new file mode 100644 index 0000000..6621b95 --- /dev/null +++ b/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/materialproperties/vo/MaterialPropertiesPageReqVO.java @@ -0,0 +1,38 @@ +package com.zt.plat.module.base.controller.admin.materialproperties.vo; + +import lombok.*; +import java.util.*; +import io.swagger.v3.oas.annotations.media.Schema; +import com.zt.plat.framework.common.pojo.PageParam; +import org.springframework.format.annotation.DateTimeFormat; +import java.time.LocalDateTime; + +import static com.zt.plat.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; + +@Schema(description = "管理后台 - 物料属性分页 Request VO") +@Data +public class MaterialPropertiesPageReqVO extends PageParam { + + @Schema(description = "属性编码") + private String code; + + @Schema(description = "属性名称", example = "芋艿") + private String name; + + @Schema(description = "计量单位量ID", example = "30468") + private Long unitQuantityId; + + @Schema(description = "业务字典数据值") + private String dictionaryDataValue; + + @Schema(description = "数据类型", example = "1") + private String dataType; + + @Schema(description = "备注") + private String remark; + + @Schema(description = "创建时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] createTime; + +} \ No newline at end of file diff --git a/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/materialproperties/vo/MaterialPropertiesRespVO.java b/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/materialproperties/vo/MaterialPropertiesRespVO.java new file mode 100644 index 0000000..c2ac468 --- /dev/null +++ b/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/materialproperties/vo/MaterialPropertiesRespVO.java @@ -0,0 +1,47 @@ +package com.zt.plat.module.base.controller.admin.materialproperties.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; +import java.util.*; +import org.springframework.format.annotation.DateTimeFormat; +import java.time.LocalDateTime; +import com.alibaba.excel.annotation.*; + +@Schema(description = "管理后台 - 物料属性 Response VO") +@Data +@ExcelIgnoreUnannotated +public class MaterialPropertiesRespVO { + + @Schema(description = "主键ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "10591") + @ExcelProperty("主键ID") + private Long id; + + @Schema(description = "属性编码", requiredMode = Schema.RequiredMode.REQUIRED) + @ExcelProperty("属性编码") + private String code; + + @Schema(description = "属性名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "芋艿") + @ExcelProperty("属性名称") + private String name; + + @Schema(description = "计量单位量ID", example = "30468") + @ExcelProperty("计量单位量ID") + private Long unitQuantityId; + + @Schema(description = "业务字典数据值", requiredMode = Schema.RequiredMode.REQUIRED) + @ExcelProperty("业务字典数据值") + private String dictionaryDataValue; + + @Schema(description = "数据类型", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") + @ExcelProperty("数据类型") + private String dataType; + + @Schema(description = "备注", requiredMode = Schema.RequiredMode.REQUIRED) + @ExcelProperty("备注") + private String remark; + + @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED) + @ExcelProperty("创建时间") + private LocalDateTime createTime; + +} \ No newline at end of file diff --git a/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/materialproperties/vo/MaterialPropertiesSaveReqVO.java b/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/materialproperties/vo/MaterialPropertiesSaveReqVO.java new file mode 100644 index 0000000..e296bbe --- /dev/null +++ b/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/materialproperties/vo/MaterialPropertiesSaveReqVO.java @@ -0,0 +1,38 @@ +package com.zt.plat.module.base.controller.admin.materialproperties.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; +import java.util.*; +import jakarta.validation.constraints.*; + +@Schema(description = "管理后台 - 物料属性新增/修改 Request VO") +@Data +public class MaterialPropertiesSaveReqVO { + + @Schema(description = "主键ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "10591") + private Long id; + + @Schema(description = "属性编码", requiredMode = Schema.RequiredMode.REQUIRED) + @NotEmpty(message = "属性编码不能为空") + private String code; + + @Schema(description = "属性名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "芋艿") + @NotEmpty(message = "属性名称不能为空") + private String name; + + @Schema(description = "计量单位量ID", example = "30468") + private Long unitQuantityId; + + @Schema(description = "业务字典数据值", requiredMode = Schema.RequiredMode.REQUIRED) + @NotEmpty(message = "业务字典数据值不能为空") + private String dictionaryDataValue; + + @Schema(description = "数据类型", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") + @NotEmpty(message = "数据类型不能为空") + private String dataType; + + @Schema(description = "备注", requiredMode = Schema.RequiredMode.REQUIRED) + @NotEmpty(message = "备注不能为空") + private String remark; + +} \ No newline at end of file diff --git a/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/processinginfomation/ProcessingInfomationController.java b/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/processinginfomation/ProcessingInfomationController.java new file mode 100644 index 0000000..2cb57b5 --- /dev/null +++ b/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/processinginfomation/ProcessingInfomationController.java @@ -0,0 +1,138 @@ +package com.zt.plat.module.base.controller.admin.processinginfomation; + +import org.springframework.web.bind.annotation.*; +import jakarta.annotation.Resource; +import org.springframework.validation.annotation.Validated; +import org.springframework.security.access.prepost.PreAuthorize; + +import io.swagger.v3.oas.annotations.tags.Tag; +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.Operation; + +import jakarta.validation.constraints.*; +import jakarta.validation.*; +import jakarta.servlet.http.*; +import java.util.*; +import java.io.IOException; + +import com.zt.plat.framework.common.pojo.vo.BatchDeleteReqVO; +import com.zt.plat.framework.common.pojo.PageParam; +import com.zt.plat.framework.common.pojo.PageResult; +import com.zt.plat.framework.common.pojo.CommonResult; +import com.zt.plat.framework.common.util.object.BeanUtils; +import static com.zt.plat.framework.common.pojo.CommonResult.success; + +import com.zt.plat.framework.excel.core.util.ExcelUtils; + +import com.zt.plat.framework.apilog.core.annotation.ApiAccessLog; +import static com.zt.plat.framework.apilog.core.enums.OperateTypeEnum.*; + +import com.zt.plat.module.base.controller.admin.processinginfomation.vo.*; +import com.zt.plat.module.base.dal.dataobject.processinginfomation.ProcessingInfomationDO; +import com.zt.plat.module.base.service.processinginfomation.ProcessingInfomationService; + +@Tag(name = "管理后台 - 工艺信息") +@RestController +@RequestMapping("/base/processing-infomation") +@Validated +public class ProcessingInfomationController { + + + @Resource + private ProcessingInfomationService processingInfomationService; + + @PostMapping("/create") + @Operation(summary = "创建工艺信息") + @PreAuthorize("@ss.hasPermission('base:processing-infomation:create')") + public CommonResult createProcessingInfomation(@Valid @RequestBody ProcessingInfomationSaveReqVO createReqVO) { + return success(processingInfomationService.createProcessingInfomation(createReqVO)); + } + + @PutMapping("/update") + @Operation(summary = "更新工艺信息") + @PreAuthorize("@ss.hasPermission('base:processing-infomation:update')") + public CommonResult updateProcessingInfomation(@Valid @RequestBody ProcessingInfomationSaveReqVO updateReqVO) { + processingInfomationService.updateProcessingInfomation(updateReqVO); + return success(true); + } + + @DeleteMapping("/delete") + @Operation(summary = "删除工艺信息") + @Parameter(name = "id", description = "编号", required = true) + @PreAuthorize("@ss.hasPermission('base:processing-infomation:delete')") + public CommonResult deleteProcessingInfomation(@RequestParam("id") Long id) { + processingInfomationService.deleteProcessingInfomation(id); + return success(true); + } + + @DeleteMapping("/delete-list") + @Parameter(name = "ids", description = "编号", required = true) + @Operation(summary = "批量删除工艺信息") + @PreAuthorize("@ss.hasPermission('base:processing-infomation:delete')") + public CommonResult deleteProcessingInfomationList(@RequestBody BatchDeleteReqVO req) { + processingInfomationService.deleteProcessingInfomationListByIds(req.getIds()); + return success(true); + } + + @GetMapping("/get") + @Operation(summary = "获得工艺信息") + @Parameter(name = "id", description = "编号", required = true, example = "1024") + @PreAuthorize("@ss.hasPermission('base:processing-infomation:query')") + public CommonResult getProcessingInfomation(@RequestParam("id") Long id) { + ProcessingInfomationDO processingInfomation = processingInfomationService.getProcessingInfomation(id); + return success(BeanUtils.toBean(processingInfomation, ProcessingInfomationRespVO.class)); + } + + @GetMapping("/page") + @Operation(summary = "获得工艺信息分页") + @PreAuthorize("@ss.hasPermission('base:processing-infomation:query')") + public CommonResult> getProcessingInfomationPage(@Valid ProcessingInfomationPageReqVO pageReqVO) { + PageResult pageResult = processingInfomationService.getProcessingInfomationPage(pageReqVO); + return success(BeanUtils.toBean(pageResult, ProcessingInfomationRespVO.class)); + } + + @GetMapping("/export-excel") + @Operation(summary = "导出工艺信息 Excel") + @PreAuthorize("@ss.hasPermission('base:processing-infomation:export')") + @ApiAccessLog(operateType = EXPORT) + public void exportProcessingInfomationExcel(@Valid ProcessingInfomationPageReqVO pageReqVO, + HttpServletResponse response) throws IOException { + pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE); + List list = processingInfomationService.getProcessingInfomationPage(pageReqVO).getList(); + // 导出 Excel + ExcelUtils.write(response, "工艺信息.xls", "数据", ProcessingInfomationRespVO.class, + BeanUtils.toBean(list, ProcessingInfomationRespVO.class)); + } + + @GetMapping("/tree") + @Operation(summary = "获得工艺信息树") + @PreAuthorize("@ss.hasPermission('base:processing-infomation:query')") + public CommonResult> getProcessingInfomationTree() { + List list = processingInfomationService.getProcessingInfomationList(); + return success(buildTree(list)); + } + + private List buildTree(List list) { + if (list == null || list.isEmpty()) { + return Collections.emptyList(); + } + Map nodeMap = new LinkedHashMap<>(); + list.stream() + .sorted(Comparator.comparing(ProcessingInfomationDO::getId)) + .forEach(item -> { + ProcessingInfomationTreeRespVO node = BeanUtils.toBean(item, ProcessingInfomationTreeRespVO.class); + nodeMap.put(node.getId(), node); + }); + List roots = new ArrayList<>(); + nodeMap.values().forEach(node -> { + Long parentId = node.getParentId(); + if (parentId == null || parentId == 0 || !nodeMap.containsKey(parentId)) { + roots.add(node); + } else { + nodeMap.get(parentId).getChildren().add(node); + } + }); + return roots; + } + +} \ No newline at end of file diff --git a/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/processinginfomation/vo/ProcessingInfomationPageReqVO.java b/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/processinginfomation/vo/ProcessingInfomationPageReqVO.java new file mode 100644 index 0000000..35efbf8 --- /dev/null +++ b/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/processinginfomation/vo/ProcessingInfomationPageReqVO.java @@ -0,0 +1,42 @@ +package com.zt.plat.module.base.controller.admin.processinginfomation.vo; + +import lombok.*; +import java.util.*; +import io.swagger.v3.oas.annotations.media.Schema; +import com.zt.plat.framework.common.pojo.PageParam; +import org.springframework.format.annotation.DateTimeFormat; +import java.time.LocalDateTime; + +import static com.zt.plat.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; + +@Schema(description = "管理后台 - 工艺信息分页 Request VO") +@Data +public class ProcessingInfomationPageReqVO extends PageParam { + + @Schema(description = "父级ID", example = "16823") + private Long parentId; + + @Schema(description = "工艺编码-唯一业务键") + private String code; + + @Schema(description = "工艺名称", example = "赵六") + private String name; + + @Schema(description = "工艺类型值") + private Long typeValue; + + @Schema(description = "状态值-工艺状态") + private String statusValue; + + @Schema(description = "工艺描述") + private String description; + + @Schema(description = "生效日期") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] effectiveDate; + + @Schema(description = "创建时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] createTime; + +} \ No newline at end of file diff --git a/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/processinginfomation/vo/ProcessingInfomationRespVO.java b/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/processinginfomation/vo/ProcessingInfomationRespVO.java new file mode 100644 index 0000000..c22e4e9 --- /dev/null +++ b/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/processinginfomation/vo/ProcessingInfomationRespVO.java @@ -0,0 +1,51 @@ +package com.zt.plat.module.base.controller.admin.processinginfomation.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; +import java.util.*; +import org.springframework.format.annotation.DateTimeFormat; +import java.time.LocalDateTime; +import com.alibaba.excel.annotation.*; + +@Schema(description = "管理后台 - 工艺信息 Response VO") +@Data +@ExcelIgnoreUnannotated +public class ProcessingInfomationRespVO { + + @Schema(description = "主键ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "16240") + @ExcelProperty("主键ID") + private Long id; + + @Schema(description = "父级ID", example = "16823") + @ExcelProperty("父级ID") + private Long parentId; + + @Schema(description = "工艺编码-唯一业务键", requiredMode = Schema.RequiredMode.REQUIRED) + @ExcelProperty("工艺编码-唯一业务键") + private String code; + + @Schema(description = "工艺名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "赵六") + @ExcelProperty("工艺名称") + private String name; + + @Schema(description = "工艺类型值") + @ExcelProperty("工艺类型值") + private Long typeValue; + + @Schema(description = "状态值-工艺状态", requiredMode = Schema.RequiredMode.REQUIRED) + @ExcelProperty("状态值-工艺状态") + private String statusValue; + + @Schema(description = "工艺描述", requiredMode = Schema.RequiredMode.REQUIRED) + @ExcelProperty("工艺描述") + private String description; + + @Schema(description = "生效日期") + @ExcelProperty("生效日期") + private LocalDateTime effectiveDate; + + @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED) + @ExcelProperty("创建时间") + private LocalDateTime createTime; + +} \ No newline at end of file diff --git a/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/processinginfomation/vo/ProcessingInfomationSaveReqVO.java b/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/processinginfomation/vo/ProcessingInfomationSaveReqVO.java new file mode 100644 index 0000000..bcf17ca --- /dev/null +++ b/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/processinginfomation/vo/ProcessingInfomationSaveReqVO.java @@ -0,0 +1,42 @@ +package com.zt.plat.module.base.controller.admin.processinginfomation.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; +import java.util.*; +import jakarta.validation.constraints.*; +import org.springframework.format.annotation.DateTimeFormat; +import java.time.LocalDateTime; + +@Schema(description = "管理后台 - 工艺信息新增/修改 Request VO") +@Data +public class ProcessingInfomationSaveReqVO { + + @Schema(description = "主键ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "16240") + private Long id; + + @Schema(description = "父级ID", example = "16823") + private Long parentId; + + @Schema(description = "工艺编码-唯一业务键", requiredMode = Schema.RequiredMode.REQUIRED) + @NotEmpty(message = "工艺编码-唯一业务键不能为空") + private String code; + + @Schema(description = "工艺名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "赵六") + @NotEmpty(message = "工艺名称不能为空") + private String name; + + @Schema(description = "工艺类型值") + private Long typeValue; + + @Schema(description = "状态值-工艺状态", requiredMode = Schema.RequiredMode.REQUIRED) + @NotEmpty(message = "状态值-工艺状态不能为空") + private String statusValue; + + @Schema(description = "工艺描述", requiredMode = Schema.RequiredMode.REQUIRED) + @NotEmpty(message = "工艺描述不能为空") + private String description; + + @Schema(description = "生效日期") + private LocalDateTime effectiveDate; + +} \ No newline at end of file diff --git a/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/processinginfomation/vo/ProcessingInfomationTreeRespVO.java b/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/processinginfomation/vo/ProcessingInfomationTreeRespVO.java new file mode 100644 index 0000000..87b276a --- /dev/null +++ b/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/processinginfomation/vo/ProcessingInfomationTreeRespVO.java @@ -0,0 +1,34 @@ +package com.zt.plat.module.base.controller.admin.processinginfomation.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import java.util.ArrayList; +import java.util.List; + +@Schema(description = "管理后台 - 工艺信息树节点 Response VO") +@Data +public class ProcessingInfomationTreeRespVO { + + @Schema(description = "主键ID", example = "1001") + private Long id; + + @Schema(description = "父级ID", example = "0") + private Long parentId; + + @Schema(description = "工艺编码", example = "PRC-001") + private String code; + + @Schema(description = "工艺名称", example = "熔铸") + private String name; + + @Schema(description = "工艺类型值") + private Long typeValue; + + @Schema(description = "状态值-工艺状态") + private String statusValue; + + @Schema(description = "子节点") + private List children = new ArrayList<>(); + +} diff --git a/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/processinginfomationoperation/ProcessingInfomationOperationController.java b/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/processinginfomationoperation/ProcessingInfomationOperationController.java new file mode 100644 index 0000000..16b2509 --- /dev/null +++ b/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/processinginfomationoperation/ProcessingInfomationOperationController.java @@ -0,0 +1,107 @@ +package com.zt.plat.module.base.controller.admin.processinginfomationoperation; + +import org.springframework.web.bind.annotation.*; +import jakarta.annotation.Resource; +import org.springframework.validation.annotation.Validated; +import org.springframework.security.access.prepost.PreAuthorize; + +import io.swagger.v3.oas.annotations.tags.Tag; +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.Operation; + +import jakarta.validation.constraints.*; +import jakarta.validation.*; +import jakarta.servlet.http.*; +import java.util.*; +import java.io.IOException; + +import com.zt.plat.framework.common.pojo.vo.BatchDeleteReqVO; +import com.zt.plat.framework.common.pojo.PageParam; +import com.zt.plat.framework.common.pojo.PageResult; +import com.zt.plat.framework.common.pojo.CommonResult; +import com.zt.plat.framework.common.util.object.BeanUtils; +import static com.zt.plat.framework.common.pojo.CommonResult.success; + +import com.zt.plat.framework.excel.core.util.ExcelUtils; + +import com.zt.plat.framework.apilog.core.annotation.ApiAccessLog; +import static com.zt.plat.framework.apilog.core.enums.OperateTypeEnum.*; + +import com.zt.plat.module.base.controller.admin.processinginfomationoperation.vo.*; +import com.zt.plat.module.base.dal.dataobject.processinginfomationoperation.ProcessingInfomationOperationDO; +import com.zt.plat.module.base.service.processinginfomationoperation.ProcessingInfomationOperationService; + +@Tag(name = "管理后台 - 工艺工序") +@RestController +@RequestMapping("/base/processing-infomation-operation") +@Validated +public class ProcessingInfomationOperationController { + + + @Resource + private ProcessingInfomationOperationService processingInfomationOperationService; + + @PostMapping("/create") + @Operation(summary = "创建工艺工序") + @PreAuthorize("@ss.hasPermission('base:processing-infomation-operation:create')") + public CommonResult createProcessingInfomationOperation(@Valid @RequestBody ProcessingInfomationOperationSaveReqVO createReqVO) { + return success(processingInfomationOperationService.createProcessingInfomationOperation(createReqVO)); + } + + @PutMapping("/update") + @Operation(summary = "更新工艺工序") + @PreAuthorize("@ss.hasPermission('base:processing-infomation-operation:update')") + public CommonResult updateProcessingInfomationOperation(@Valid @RequestBody ProcessingInfomationOperationSaveReqVO updateReqVO) { + processingInfomationOperationService.updateProcessingInfomationOperation(updateReqVO); + return success(true); + } + + @DeleteMapping("/delete") + @Operation(summary = "删除工艺工序") + @Parameter(name = "id", description = "编号", required = true) + @PreAuthorize("@ss.hasPermission('base:processing-infomation-operation:delete')") + public CommonResult deleteProcessingInfomationOperation(@RequestParam("id") Long id) { + processingInfomationOperationService.deleteProcessingInfomationOperation(id); + return success(true); + } + + @DeleteMapping("/delete-list") + @Parameter(name = "ids", description = "编号", required = true) + @Operation(summary = "批量删除工艺工序") + @PreAuthorize("@ss.hasPermission('base:processing-infomation-operation:delete')") + public CommonResult deleteProcessingInfomationOperationList(@RequestBody BatchDeleteReqVO req) { + processingInfomationOperationService.deleteProcessingInfomationOperationListByIds(req.getIds()); + return success(true); + } + + @GetMapping("/get") + @Operation(summary = "获得工艺工序") + @Parameter(name = "id", description = "编号", required = true, example = "1024") + @PreAuthorize("@ss.hasPermission('base:processing-infomation-operation:query')") + public CommonResult getProcessingInfomationOperation(@RequestParam("id") Long id) { + ProcessingInfomationOperationDO processingInfomationOperation = processingInfomationOperationService.getProcessingInfomationOperation(id); + return success(BeanUtils.toBean(processingInfomationOperation, ProcessingInfomationOperationRespVO.class)); + } + + @GetMapping("/page") + @Operation(summary = "获得工艺工序分页") + @PreAuthorize("@ss.hasPermission('base:processing-infomation-operation:query')") + public CommonResult> getProcessingInfomationOperationPage(@Valid ProcessingInfomationOperationPageReqVO pageReqVO) { + PageResult pageResult = processingInfomationOperationService.getProcessingInfomationOperationDetailPage(pageReqVO); + return success(pageResult); + } + + @GetMapping("/export-excel") + @Operation(summary = "导出工艺工序 Excel") + @PreAuthorize("@ss.hasPermission('base:processing-infomation-operation:export')") + @ApiAccessLog(operateType = EXPORT) + public void exportProcessingInfomationOperationExcel(@Valid ProcessingInfomationOperationPageReqVO pageReqVO, + HttpServletResponse response) throws IOException { + pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE); + List list = processingInfomationOperationService.getProcessingInfomationOperationDetailList(pageReqVO); + // 导出 Excel + ExcelUtils.write(response, "工艺工序.xls", "数据", ProcessingInfomationOperationRespVO.class, + list); + } + +} \ No newline at end of file diff --git a/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/processinginfomationoperation/vo/ProcessingInfomationOperationPageReqVO.java b/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/processinginfomationoperation/vo/ProcessingInfomationOperationPageReqVO.java new file mode 100644 index 0000000..96590e1 --- /dev/null +++ b/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/processinginfomationoperation/vo/ProcessingInfomationOperationPageReqVO.java @@ -0,0 +1,41 @@ +package com.zt.plat.module.base.controller.admin.processinginfomationoperation.vo; + +import lombok.*; +import java.util.*; +import io.swagger.v3.oas.annotations.media.Schema; +import com.zt.plat.framework.common.pojo.PageParam; +import org.springframework.format.annotation.DateTimeFormat; +import java.time.LocalDateTime; + +import static com.zt.plat.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; + +@Schema(description = "管理后台 - 工艺工序分页 Request VO") +@Data +public class ProcessingInfomationOperationPageReqVO extends PageParam { + + @Schema(description = "前序工序ID", example = "14658") + private Long previousOperationId; + + @Schema(description = "后续工序ID", example = "22110") + private Long nextOperationId; + + @Schema(description = "工艺ID", example = "5773") + private Long processingId; + + @Schema(description = "是否关键工序") + private Integer isKey; + + @Schema(description = "备注") + private String remark; + + @Schema(description = "后续工序编码") + private String nextOperationCode; + + @Schema(description = "后续工序名称") + private String nextOperationName; + + @Schema(description = "创建时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] createTime; + +} \ No newline at end of file diff --git a/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/processinginfomationoperation/vo/ProcessingInfomationOperationRespVO.java b/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/processinginfomationoperation/vo/ProcessingInfomationOperationRespVO.java new file mode 100644 index 0000000..78b09db --- /dev/null +++ b/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/processinginfomationoperation/vo/ProcessingInfomationOperationRespVO.java @@ -0,0 +1,59 @@ +package com.zt.plat.module.base.controller.admin.processinginfomationoperation.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; +import java.util.*; +import org.springframework.format.annotation.DateTimeFormat; +import java.time.LocalDateTime; +import com.alibaba.excel.annotation.*; + +@Schema(description = "管理后台 - 工艺工序 Response VO") +@Data +@ExcelIgnoreUnannotated +public class ProcessingInfomationOperationRespVO { + + @Schema(description = "主键ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "29694") + @ExcelProperty("主键ID") + private Long id; + + @Schema(description = "前序工序ID", example = "14658") + @ExcelProperty("前序工序ID") + private Long previousOperationId; + + @Schema(description = "前序工序编码") + @ExcelProperty("前序工序编码") + private String previousOperationCode; + + @Schema(description = "前序工序名称") + @ExcelProperty("前序工序名称") + private String previousOperationName; + + @Schema(description = "后续工序ID", example = "22110") + @ExcelProperty("后续工序ID") + private Long nextOperationId; + + @Schema(description = "后续工序编码") + @ExcelProperty("后续工序编码") + private String nextOperationCode; + + @Schema(description = "后续工序名称") + @ExcelProperty("后续工序名称") + private String nextOperationName; + + @Schema(description = "工艺ID", example = "5773") + @ExcelProperty("工艺ID") + private Long processingId; + + @Schema(description = "是否关键工序") + @ExcelProperty("是否关键工序") + private Integer isKey; + + @Schema(description = "备注", requiredMode = Schema.RequiredMode.REQUIRED) + @ExcelProperty("备注") + private String remark; + + @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED) + @ExcelProperty("创建时间") + private LocalDateTime createTime; + +} \ No newline at end of file diff --git a/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/processinginfomationoperation/vo/ProcessingInfomationOperationSaveReqVO.java b/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/processinginfomationoperation/vo/ProcessingInfomationOperationSaveReqVO.java new file mode 100644 index 0000000..eb396ca --- /dev/null +++ b/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/processinginfomationoperation/vo/ProcessingInfomationOperationSaveReqVO.java @@ -0,0 +1,31 @@ +package com.zt.plat.module.base.controller.admin.processinginfomationoperation.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; +import java.util.*; +import jakarta.validation.constraints.*; + +@Schema(description = "管理后台 - 工艺工序新增/修改 Request VO") +@Data +public class ProcessingInfomationOperationSaveReqVO { + + @Schema(description = "主键ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "29694") + private Long id; + + @Schema(description = "前序工序ID", example = "14658") + private Long previousOperationId; + + @Schema(description = "后续工序ID", example = "22110") + private Long nextOperationId; + + @Schema(description = "工艺ID", example = "5773") + private Long processingId; + + @Schema(description = "是否关键工序") + private Integer isKey; + + @Schema(description = "备注", requiredMode = Schema.RequiredMode.REQUIRED) + @NotEmpty(message = "备注不能为空") + private String remark; + +} \ No newline at end of file diff --git a/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/processingoperation/ProcessingOperationController.java b/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/processingoperation/ProcessingOperationController.java new file mode 100644 index 0000000..4dd1339 --- /dev/null +++ b/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/processingoperation/ProcessingOperationController.java @@ -0,0 +1,115 @@ +package com.zt.plat.module.base.controller.admin.processingoperation; + +import org.springframework.web.bind.annotation.*; +import jakarta.annotation.Resource; +import org.springframework.validation.annotation.Validated; +import org.springframework.security.access.prepost.PreAuthorize; + +import io.swagger.v3.oas.annotations.tags.Tag; +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.Operation; + +import jakarta.validation.constraints.*; +import jakarta.validation.*; +import jakarta.servlet.http.*; +import java.util.*; +import java.io.IOException; + +import com.zt.plat.framework.common.pojo.vo.BatchDeleteReqVO; +import com.zt.plat.framework.common.pojo.PageParam; +import com.zt.plat.framework.common.pojo.PageResult; +import com.zt.plat.framework.common.pojo.CommonResult; +import com.zt.plat.framework.common.util.object.BeanUtils; +import static com.zt.plat.framework.common.pojo.CommonResult.success; + +import com.zt.plat.framework.excel.core.util.ExcelUtils; + +import com.zt.plat.framework.apilog.core.annotation.ApiAccessLog; +import static com.zt.plat.framework.apilog.core.enums.OperateTypeEnum.*; + +import com.zt.plat.module.base.controller.admin.processingoperation.vo.*; +import com.zt.plat.module.base.dal.dataobject.processingoperation.ProcessingOperationDO; +import com.zt.plat.module.base.service.processingoperation.ProcessingOperationService; + +@Tag(name = "管理后台 - 工序") +@RestController +@RequestMapping("/base/processing-operation") +@Validated +public class ProcessingOperationController { + + + @Resource + private ProcessingOperationService processingOperationService; + + @PostMapping("/create") + @Operation(summary = "创建工序") + @PreAuthorize("@ss.hasPermission('base:processing-operation:create')") + public CommonResult createProcessingOperation(@Valid @RequestBody ProcessingOperationSaveReqVO createReqVO) { + return success(processingOperationService.createProcessingOperation(createReqVO)); + } + + @PutMapping("/update") + @Operation(summary = "更新工序") + @PreAuthorize("@ss.hasPermission('base:processing-operation:update')") + public CommonResult updateProcessingOperation(@Valid @RequestBody ProcessingOperationSaveReqVO updateReqVO) { + processingOperationService.updateProcessingOperation(updateReqVO); + return success(true); + } + + @DeleteMapping("/delete") + @Operation(summary = "删除工序") + @Parameter(name = "id", description = "编号", required = true) + @PreAuthorize("@ss.hasPermission('base:processing-operation:delete')") + public CommonResult deleteProcessingOperation(@RequestParam("id") Long id) { + processingOperationService.deleteProcessingOperation(id); + return success(true); + } + + @DeleteMapping("/delete-list") + @Parameter(name = "ids", description = "编号", required = true) + @Operation(summary = "批量删除工序") + @PreAuthorize("@ss.hasPermission('base:processing-operation:delete')") + public CommonResult deleteProcessingOperationList(@RequestBody BatchDeleteReqVO req) { + processingOperationService.deleteProcessingOperationListByIds(req.getIds()); + return success(true); + } + + @GetMapping("/get") + @Operation(summary = "获得工序") + @Parameter(name = "id", description = "编号", required = true, example = "1024") + @PreAuthorize("@ss.hasPermission('base:processing-operation:query')") + public CommonResult getProcessingOperation(@RequestParam("id") Long id) { + ProcessingOperationDO processingOperation = processingOperationService.getProcessingOperation(id); + return success(BeanUtils.toBean(processingOperation, ProcessingOperationRespVO.class)); + } + + @GetMapping("/page") + @Operation(summary = "获得工序分页") + @PreAuthorize("@ss.hasPermission('base:processing-operation:query')") + public CommonResult> getProcessingOperationPage(@Valid ProcessingOperationPageReqVO pageReqVO) { + PageResult pageResult = processingOperationService.getProcessingOperationPage(pageReqVO); + return success(BeanUtils.toBean(pageResult, ProcessingOperationRespVO.class)); + } + + @GetMapping("/export-excel") + @Operation(summary = "导出工序 Excel") + @PreAuthorize("@ss.hasPermission('base:processing-operation:export')") + @ApiAccessLog(operateType = EXPORT) + public void exportProcessingOperationExcel(@Valid ProcessingOperationPageReqVO pageReqVO, + HttpServletResponse response) throws IOException { + pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE); + List list = processingOperationService.getProcessingOperationPage(pageReqVO).getList(); + // 导出 Excel + ExcelUtils.write(response, "工序.xls", "数据", ProcessingOperationRespVO.class, + BeanUtils.toBean(list, ProcessingOperationRespVO.class)); + } + + @GetMapping("/simple-list") + @Operation(summary = "获得工序简单列表") + @PreAuthorize("@ss.hasPermission('base:processing-operation:query')") + public CommonResult> getProcessingOperationSimpleList() { + List list = processingOperationService.getProcessingOperationList(); + return success(BeanUtils.toBean(list, ProcessingOperationSimpleRespVO.class)); + } + +} \ No newline at end of file diff --git a/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/processingoperation/vo/ProcessingOperationPageReqVO.java b/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/processingoperation/vo/ProcessingOperationPageReqVO.java new file mode 100644 index 0000000..30eb3b9 --- /dev/null +++ b/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/processingoperation/vo/ProcessingOperationPageReqVO.java @@ -0,0 +1,35 @@ +package com.zt.plat.module.base.controller.admin.processingoperation.vo; + +import lombok.*; +import java.util.*; +import io.swagger.v3.oas.annotations.media.Schema; +import com.zt.plat.framework.common.pojo.PageParam; +import org.springframework.format.annotation.DateTimeFormat; +import java.time.LocalDateTime; + +import static com.zt.plat.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; + +@Schema(description = "管理后台 - 工序分页 Request VO") +@Data +public class ProcessingOperationPageReqVO extends PageParam { + + @Schema(description = "工序编码") + private String code; + + @Schema(description = "工序名称", example = "王五") + private String name; + + @Schema(description = "排序号") + private Long sort; + + @Schema(description = "类型值-工序类型") + private String typeValue; + + @Schema(description = "备注") + private String remark; + + @Schema(description = "创建时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] createTime; + +} \ No newline at end of file diff --git a/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/processingoperation/vo/ProcessingOperationRespVO.java b/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/processingoperation/vo/ProcessingOperationRespVO.java new file mode 100644 index 0000000..a011073 --- /dev/null +++ b/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/processingoperation/vo/ProcessingOperationRespVO.java @@ -0,0 +1,43 @@ +package com.zt.plat.module.base.controller.admin.processingoperation.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; +import java.util.*; +import org.springframework.format.annotation.DateTimeFormat; +import java.time.LocalDateTime; +import com.alibaba.excel.annotation.*; + +@Schema(description = "管理后台 - 工序 Response VO") +@Data +@ExcelIgnoreUnannotated +public class ProcessingOperationRespVO { + + @Schema(description = "主键ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "14097") + @ExcelProperty("主键ID") + private Long id; + + @Schema(description = "工序编码", requiredMode = Schema.RequiredMode.REQUIRED) + @ExcelProperty("工序编码") + private String code; + + @Schema(description = "工序名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "王五") + @ExcelProperty("工序名称") + private String name; + + @Schema(description = "排序号") + @ExcelProperty("排序号") + private Long sort; + + @Schema(description = "类型值-工序类型", requiredMode = Schema.RequiredMode.REQUIRED) + @ExcelProperty("类型值-工序类型") + private String typeValue; + + @Schema(description = "备注", requiredMode = Schema.RequiredMode.REQUIRED) + @ExcelProperty("备注") + private String remark; + + @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED) + @ExcelProperty("创建时间") + private LocalDateTime createTime; + +} \ No newline at end of file diff --git a/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/processingoperation/vo/ProcessingOperationSaveReqVO.java b/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/processingoperation/vo/ProcessingOperationSaveReqVO.java new file mode 100644 index 0000000..33ef116 --- /dev/null +++ b/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/processingoperation/vo/ProcessingOperationSaveReqVO.java @@ -0,0 +1,34 @@ +package com.zt.plat.module.base.controller.admin.processingoperation.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; +import java.util.*; +import jakarta.validation.constraints.*; + +@Schema(description = "管理后台 - 工序新增/修改 Request VO") +@Data +public class ProcessingOperationSaveReqVO { + + @Schema(description = "主键ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "14097") + private Long id; + + @Schema(description = "工序编码", requiredMode = Schema.RequiredMode.REQUIRED) + @NotEmpty(message = "工序编码不能为空") + private String code; + + @Schema(description = "工序名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "王五") + @NotEmpty(message = "工序名称不能为空") + private String name; + + @Schema(description = "排序号") + private Long sort; + + @Schema(description = "类型值-工序类型", requiredMode = Schema.RequiredMode.REQUIRED) + @NotEmpty(message = "类型值-工序类型不能为空") + private String typeValue; + + @Schema(description = "备注", requiredMode = Schema.RequiredMode.REQUIRED) + @NotEmpty(message = "备注不能为空") + private String remark; + +} \ No newline at end of file diff --git a/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/processingoperation/vo/ProcessingOperationSimpleRespVO.java b/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/processingoperation/vo/ProcessingOperationSimpleRespVO.java new file mode 100644 index 0000000..7580848 --- /dev/null +++ b/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/processingoperation/vo/ProcessingOperationSimpleRespVO.java @@ -0,0 +1,19 @@ +package com.zt.plat.module.base.controller.admin.processingoperation.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +@Schema(description = "管理后台 - 工序简单信息 Response VO") +@Data +public class ProcessingOperationSimpleRespVO { + + @Schema(description = "工序ID", example = "1001") + private Long id; + + @Schema(description = "工序编码", example = "OP-001") + private String code; + + @Schema(description = "工序名称", example = "熔铸") + private String name; + +} diff --git a/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/processingoperationmaterial/ProcessingOperationMaterialController.java b/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/processingoperationmaterial/ProcessingOperationMaterialController.java new file mode 100644 index 0000000..dfa6bcb --- /dev/null +++ b/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/processingoperationmaterial/ProcessingOperationMaterialController.java @@ -0,0 +1,107 @@ +package com.zt.plat.module.base.controller.admin.processingoperationmaterial; + +import org.springframework.web.bind.annotation.*; +import jakarta.annotation.Resource; +import org.springframework.validation.annotation.Validated; +import org.springframework.security.access.prepost.PreAuthorize; + +import io.swagger.v3.oas.annotations.tags.Tag; +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.Operation; + +import jakarta.validation.constraints.*; +import jakarta.validation.*; +import jakarta.servlet.http.*; +import java.util.*; +import java.io.IOException; + +import com.zt.plat.framework.common.pojo.vo.BatchDeleteReqVO; +import com.zt.plat.framework.common.pojo.PageParam; +import com.zt.plat.framework.common.pojo.PageResult; +import com.zt.plat.framework.common.pojo.CommonResult; +import com.zt.plat.framework.common.util.object.BeanUtils; +import static com.zt.plat.framework.common.pojo.CommonResult.success; + +import com.zt.plat.framework.excel.core.util.ExcelUtils; + +import com.zt.plat.framework.apilog.core.annotation.ApiAccessLog; +import static com.zt.plat.framework.apilog.core.enums.OperateTypeEnum.*; + +import com.zt.plat.module.base.controller.admin.processingoperationmaterial.vo.*; +import com.zt.plat.module.base.dal.dataobject.processingoperationmaterial.ProcessingOperationMaterialDO; +import com.zt.plat.module.base.service.processingoperationmaterial.ProcessingOperationMaterialService; + +@Tag(name = "管理后台 - 工艺工序物料") +@RestController +@RequestMapping("/base/processing-operation-material") +@Validated +public class ProcessingOperationMaterialController { + + + @Resource + private ProcessingOperationMaterialService processingOperationMaterialService; + + @PostMapping("/create") + @Operation(summary = "创建工艺工序物料") + @PreAuthorize("@ss.hasPermission('base:processing-operation-material:create')") + public CommonResult createProcessingOperationMaterial(@Valid @RequestBody ProcessingOperationMaterialSaveReqVO createReqVO) { + return success(processingOperationMaterialService.createProcessingOperationMaterial(createReqVO)); + } + + @PutMapping("/update") + @Operation(summary = "更新工艺工序物料") + @PreAuthorize("@ss.hasPermission('base:processing-operation-material:update')") + public CommonResult updateProcessingOperationMaterial(@Valid @RequestBody ProcessingOperationMaterialSaveReqVO updateReqVO) { + processingOperationMaterialService.updateProcessingOperationMaterial(updateReqVO); + return success(true); + } + + @DeleteMapping("/delete") + @Operation(summary = "删除工艺工序物料") + @Parameter(name = "id", description = "编号", required = true) + @PreAuthorize("@ss.hasPermission('base:processing-operation-material:delete')") + public CommonResult deleteProcessingOperationMaterial(@RequestParam("id") Long id) { + processingOperationMaterialService.deleteProcessingOperationMaterial(id); + return success(true); + } + + @DeleteMapping("/delete-list") + @Parameter(name = "ids", description = "编号", required = true) + @Operation(summary = "批量删除工艺工序物料") + @PreAuthorize("@ss.hasPermission('base:processing-operation-material:delete')") + public CommonResult deleteProcessingOperationMaterialList(@RequestBody BatchDeleteReqVO req) { + processingOperationMaterialService.deleteProcessingOperationMaterialListByIds(req.getIds()); + return success(true); + } + + @GetMapping("/get") + @Operation(summary = "获得工艺工序物料") + @Parameter(name = "id", description = "编号", required = true, example = "1024") + @PreAuthorize("@ss.hasPermission('base:processing-operation-material:query')") + public CommonResult getProcessingOperationMaterial(@RequestParam("id") Long id) { + ProcessingOperationMaterialDO processingOperationMaterial = processingOperationMaterialService.getProcessingOperationMaterial(id); + return success(BeanUtils.toBean(processingOperationMaterial, ProcessingOperationMaterialRespVO.class)); + } + + @GetMapping("/page") + @Operation(summary = "获得工艺工序物料分页") + @PreAuthorize("@ss.hasPermission('base:processing-operation-material:query')") + public CommonResult> getProcessingOperationMaterialPage(@Valid ProcessingOperationMaterialPageReqVO pageReqVO) { + PageResult pageResult = processingOperationMaterialService.getProcessingOperationMaterialPage(pageReqVO); + return success(BeanUtils.toBean(pageResult, ProcessingOperationMaterialRespVO.class)); + } + + @GetMapping("/export-excel") + @Operation(summary = "导出工艺工序物料 Excel") + @PreAuthorize("@ss.hasPermission('base:processing-operation-material:export')") + @ApiAccessLog(operateType = EXPORT) + public void exportProcessingOperationMaterialExcel(@Valid ProcessingOperationMaterialPageReqVO pageReqVO, + HttpServletResponse response) throws IOException { + pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE); + List list = processingOperationMaterialService.getProcessingOperationMaterialPage(pageReqVO).getList(); + // 导出 Excel + ExcelUtils.write(response, "工艺工序物料.xls", "数据", ProcessingOperationMaterialRespVO.class, + BeanUtils.toBean(list, ProcessingOperationMaterialRespVO.class)); + } + +} \ No newline at end of file diff --git a/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/processingoperationmaterial/vo/ProcessingOperationMaterialPageReqVO.java b/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/processingoperationmaterial/vo/ProcessingOperationMaterialPageReqVO.java new file mode 100644 index 0000000..8e8853c --- /dev/null +++ b/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/processingoperationmaterial/vo/ProcessingOperationMaterialPageReqVO.java @@ -0,0 +1,29 @@ +package com.zt.plat.module.base.controller.admin.processingoperationmaterial.vo; + +import lombok.*; +import java.util.*; +import io.swagger.v3.oas.annotations.media.Schema; +import com.zt.plat.framework.common.pojo.PageParam; +import org.springframework.format.annotation.DateTimeFormat; +import java.time.LocalDateTime; + +import static com.zt.plat.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; + +@Schema(description = "管理后台 - 工艺工序物料分页 Request VO") +@Data +public class ProcessingOperationMaterialPageReqVO extends PageParam { + + @Schema(description = "类型值-物料类型(产出/投入)") + private String typeValue; + + @Schema(description = "备注") + private String remark; + + @Schema(description = "创建时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] createTime; + + @Schema(description = "组织机构") + private String departmentIds; + +} \ No newline at end of file diff --git a/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/processingoperationmaterial/vo/ProcessingOperationMaterialRespVO.java b/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/processingoperationmaterial/vo/ProcessingOperationMaterialRespVO.java new file mode 100644 index 0000000..a0e3b0a --- /dev/null +++ b/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/processingoperationmaterial/vo/ProcessingOperationMaterialRespVO.java @@ -0,0 +1,43 @@ +package com.zt.plat.module.base.controller.admin.processingoperationmaterial.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; +import java.util.*; +import org.springframework.format.annotation.DateTimeFormat; +import java.time.LocalDateTime; +import com.alibaba.excel.annotation.*; + +@Schema(description = "管理后台 - 工艺工序物料 Response VO") +@Data +@ExcelIgnoreUnannotated +public class ProcessingOperationMaterialRespVO { + + @Schema(description = "主键ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "27200") + @ExcelProperty("主键ID") + private Long id; + + @Schema(description = "工艺工序ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "18575") + @ExcelProperty("工艺工序ID") + private Long processingOperationId; + + @Schema(description = "物料ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "15117") + @ExcelProperty("物料ID") + private Long materialId; + + @Schema(description = "类型值-物料类型(产出/投入)", requiredMode = Schema.RequiredMode.REQUIRED) + @ExcelProperty("类型值-物料类型(产出/投入)") + private String typeValue; + + @Schema(description = "备注", requiredMode = Schema.RequiredMode.REQUIRED) + @ExcelProperty("备注") + private String remark; + + @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED) + @ExcelProperty("创建时间") + private LocalDateTime createTime; + + @Schema(description = "组织机构") + @ExcelProperty("组织机构") + private String departmentIds; + +} \ No newline at end of file diff --git a/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/processingoperationmaterial/vo/ProcessingOperationMaterialSaveReqVO.java b/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/processingoperationmaterial/vo/ProcessingOperationMaterialSaveReqVO.java new file mode 100644 index 0000000..18bd082 --- /dev/null +++ b/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/processingoperationmaterial/vo/ProcessingOperationMaterialSaveReqVO.java @@ -0,0 +1,32 @@ +package com.zt.plat.module.base.controller.admin.processingoperationmaterial.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; +import java.util.*; +import jakarta.validation.constraints.*; + +@Schema(description = "管理后台 - 工艺工序物料新增/修改 Request VO") +@Data +public class ProcessingOperationMaterialSaveReqVO { + + @Schema(description = "主键ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "27200") + private Long id; + + @Schema(description = "工艺工序ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "18575") + private Long processingOperationId; + + @Schema(description = "物料ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "15117") + private Long materialId; + + @Schema(description = "类型值-物料类型(产出/投入)", requiredMode = Schema.RequiredMode.REQUIRED) + @NotEmpty(message = "类型值-物料类型(产出/投入)不能为空") + private String typeValue; + + @Schema(description = "备注", requiredMode = Schema.RequiredMode.REQUIRED) + @NotEmpty(message = "备注不能为空") + private String remark; + + @Schema(description = "组织机构") + private String departmentIds; + +} \ No newline at end of file diff --git a/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/dal/dao/departmentmaterial/DepartmentMaterialMapper.java b/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/dal/dao/departmentmaterial/DepartmentMaterialMapper.java new file mode 100644 index 0000000..d7dbd2d --- /dev/null +++ b/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/dal/dao/departmentmaterial/DepartmentMaterialMapper.java @@ -0,0 +1,32 @@ +package com.zt.plat.module.base.dal.dao.departmentmaterial; + +import java.util.*; + +import com.zt.plat.framework.common.pojo.PageResult; +import com.zt.plat.framework.mybatis.core.query.LambdaQueryWrapperX; +import com.zt.plat.framework.mybatis.core.mapper.BaseMapperX; +import com.zt.plat.module.base.dal.dataobject.departmentmaterial.DepartmentMaterialDO; +import org.apache.ibatis.annotations.Mapper; +import com.zt.plat.module.base.controller.admin.departmentmaterial.vo.*; + +/** + * 组织架构物料 Mapper + * + * @author 后台管理-1 + */ +@Mapper +public interface DepartmentMaterialMapper extends BaseMapperX { + + default PageResult selectPage(DepartmentMaterialPageReqVO reqVO) { + return selectPage(reqVO, new LambdaQueryWrapperX() + .eqIfPresent(DepartmentMaterialDO::getInfomationId, reqVO.getInfomationId()) + .inIfPresent(DepartmentMaterialDO::getInfomationId, reqVO.getInfomationIds()) + .eqIfPresent(DepartmentMaterialDO::getClassesId, reqVO.getClassesId()) + .eqIfPresent(DepartmentMaterialDO::getDeptId, reqVO.getDeptId()) + .eqIfPresent(DepartmentMaterialDO::getDictionaryDataValue, reqVO.getDictionaryDataValue()) + .eqIfPresent(DepartmentMaterialDO::getRemark, reqVO.getRemark()) + .betweenIfPresent(DepartmentMaterialDO::getCreateTime, reqVO.getCreateTime()) + .orderByDesc(DepartmentMaterialDO::getId)); + } + +} \ No newline at end of file diff --git a/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/dal/dao/materialclasses/MaterialClassesMapper.java b/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/dal/dao/materialclasses/MaterialClassesMapper.java new file mode 100644 index 0000000..c486195 --- /dev/null +++ b/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/dal/dao/materialclasses/MaterialClassesMapper.java @@ -0,0 +1,31 @@ +package com.zt.plat.module.base.dal.dao.materialclasses; + +import java.util.*; + +import com.zt.plat.framework.common.pojo.PageResult; +import com.zt.plat.framework.mybatis.core.query.LambdaQueryWrapperX; +import com.zt.plat.framework.mybatis.core.mapper.BaseMapperX; +import com.zt.plat.module.base.dal.dataobject.materialclasses.MaterialClassesDO; +import org.apache.ibatis.annotations.Mapper; +import com.zt.plat.module.base.controller.admin.materialclasses.vo.*; + +/** + * 物料分类 Mapper + * + * @author 后台管理-1 + */ +@Mapper +public interface MaterialClassesMapper extends BaseMapperX { + + default PageResult selectPage(MaterialClassesPageReqVO reqVO) { + return selectPage(reqVO, new LambdaQueryWrapperX() + .eqIfPresent(MaterialClassesDO::getParentId, reqVO.getParentId()) + .eqIfPresent(MaterialClassesDO::getCode, reqVO.getCode()) + .likeIfPresent(MaterialClassesDO::getName, reqVO.getName()) + .eqIfPresent(MaterialClassesDO::getLevel, reqVO.getLevel()) + .eqIfPresent(MaterialClassesDO::getRemark, reqVO.getRemark()) + .betweenIfPresent(MaterialClassesDO::getCreateTime, reqVO.getCreateTime()) + .orderByDesc(MaterialClassesDO::getId)); + } + +} \ No newline at end of file diff --git a/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/dal/dao/materialhasclasses/MaterialHasClassesMapper.java b/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/dal/dao/materialhasclasses/MaterialHasClassesMapper.java new file mode 100644 index 0000000..8bbde0f --- /dev/null +++ b/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/dal/dao/materialhasclasses/MaterialHasClassesMapper.java @@ -0,0 +1,28 @@ +package com.zt.plat.module.base.dal.dao.materialhasclasses; + +import java.util.*; + +import com.zt.plat.framework.common.pojo.PageResult; +import com.zt.plat.framework.mybatis.core.query.LambdaQueryWrapperX; +import com.zt.plat.framework.mybatis.core.mapper.BaseMapperX; +import com.zt.plat.module.base.dal.dataobject.materialhasclasses.MaterialHasClassesDO; +import org.apache.ibatis.annotations.Mapper; +import com.zt.plat.module.base.controller.admin.materialhasclasses.vo.*; + +/** + * 物料持有分类 Mapper + * + * @author 后台管理-1 + */ +@Mapper +public interface MaterialHasClassesMapper extends BaseMapperX { + + default PageResult selectPage(MaterialHasClassesPageReqVO reqVO) { + return selectPage(reqVO, new LambdaQueryWrapperX() + .eqIfPresent(MaterialHasClassesDO::getInfomationId, reqVO.getInfomationId()) + .betweenIfPresent(MaterialHasClassesDO::getCreateTime, reqVO.getCreateTime()) + .eqIfPresent(MaterialHasClassesDO::getClassesId, reqVO.getClassesId()) + .orderByDesc(MaterialHasClassesDO::getId)); + } + +} \ No newline at end of file diff --git a/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/dal/dao/materialhasproperties/MaterialHasPropertiesMapper.java b/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/dal/dao/materialhasproperties/MaterialHasPropertiesMapper.java new file mode 100644 index 0000000..824da81 --- /dev/null +++ b/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/dal/dao/materialhasproperties/MaterialHasPropertiesMapper.java @@ -0,0 +1,33 @@ +package com.zt.plat.module.base.dal.dao.materialhasproperties; + +import java.util.*; + +import com.zt.plat.framework.common.pojo.PageResult; +import com.zt.plat.framework.mybatis.core.query.LambdaQueryWrapperX; +import com.zt.plat.framework.mybatis.core.mapper.BaseMapperX; +import com.zt.plat.module.base.dal.dataobject.materialhasproperties.MaterialHasPropertiesDO; +import org.apache.ibatis.annotations.Mapper; +import com.zt.plat.module.base.controller.admin.materialhasproperties.vo.*; + +/** + * 物料持有属性 Mapper + * + * @author 后台管理-1 + */ +@Mapper +public interface MaterialHasPropertiesMapper extends BaseMapperX { + + default PageResult selectPage(MaterialHasPropertiesPageReqVO reqVO) { + return selectPage(reqVO, new LambdaQueryWrapperX() + .eqIfPresent(MaterialHasPropertiesDO::getInfomationId, reqVO.getInfomationId()) + .eqIfPresent(MaterialHasPropertiesDO::getPropertiesId, reqVO.getPropertiesId()) + .eqIfPresent(MaterialHasPropertiesDO::getUnitId, reqVO.getUnitId()) + .eqIfPresent(MaterialHasPropertiesDO::getValue, reqVO.getValue()) + .eqIfPresent(MaterialHasPropertiesDO::getIsKey, reqVO.getIsKey()) + .eqIfPresent(MaterialHasPropertiesDO::getIsMetering, reqVO.getIsMetering()) + .eqIfPresent(MaterialHasPropertiesDO::getSort, reqVO.getSort()) + .betweenIfPresent(MaterialHasPropertiesDO::getCreateTime, reqVO.getCreateTime()) + .orderByDesc(MaterialHasPropertiesDO::getId)); + } + +} \ No newline at end of file diff --git a/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/dal/dao/materialproperties/MaterialPropertiesMapper.java b/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/dal/dao/materialproperties/MaterialPropertiesMapper.java new file mode 100644 index 0000000..9bb4334 --- /dev/null +++ b/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/dal/dao/materialproperties/MaterialPropertiesMapper.java @@ -0,0 +1,32 @@ +package com.zt.plat.module.base.dal.dao.materialproperties; + +import java.util.*; + +import com.zt.plat.framework.common.pojo.PageResult; +import com.zt.plat.framework.mybatis.core.query.LambdaQueryWrapperX; +import com.zt.plat.framework.mybatis.core.mapper.BaseMapperX; +import com.zt.plat.module.base.dal.dataobject.materialproperties.MaterialPropertiesDO; +import org.apache.ibatis.annotations.Mapper; +import com.zt.plat.module.base.controller.admin.materialproperties.vo.*; + +/** + * 物料属性 Mapper + * + * @author 后台管理-1 + */ +@Mapper +public interface MaterialPropertiesMapper extends BaseMapperX { + + default PageResult selectPage(MaterialPropertiesPageReqVO reqVO) { + return selectPage(reqVO, new LambdaQueryWrapperX() + .eqIfPresent(MaterialPropertiesDO::getCode, reqVO.getCode()) + .likeIfPresent(MaterialPropertiesDO::getName, reqVO.getName()) + .eqIfPresent(MaterialPropertiesDO::getUnitQuantityId, reqVO.getUnitQuantityId()) + .eqIfPresent(MaterialPropertiesDO::getDictionaryDataValue, reqVO.getDictionaryDataValue()) + .eqIfPresent(MaterialPropertiesDO::getDataType, reqVO.getDataType()) + .eqIfPresent(MaterialPropertiesDO::getRemark, reqVO.getRemark()) + .betweenIfPresent(MaterialPropertiesDO::getCreateTime, reqVO.getCreateTime()) + .orderByDesc(MaterialPropertiesDO::getId)); + } + +} \ No newline at end of file diff --git a/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/dal/dao/processinginfomation/ProcessingInfomationMapper.java b/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/dal/dao/processinginfomation/ProcessingInfomationMapper.java new file mode 100644 index 0000000..4468ec8 --- /dev/null +++ b/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/dal/dao/processinginfomation/ProcessingInfomationMapper.java @@ -0,0 +1,33 @@ +package com.zt.plat.module.base.dal.dao.processinginfomation; + +import java.util.*; + +import com.zt.plat.framework.common.pojo.PageResult; +import com.zt.plat.framework.mybatis.core.query.LambdaQueryWrapperX; +import com.zt.plat.framework.mybatis.core.mapper.BaseMapperX; +import com.zt.plat.module.base.dal.dataobject.processinginfomation.ProcessingInfomationDO; +import org.apache.ibatis.annotations.Mapper; +import com.zt.plat.module.base.controller.admin.processinginfomation.vo.*; + +/** + * 工艺信息 Mapper + * + * @author 后台管理-1 + */ +@Mapper +public interface ProcessingInfomationMapper extends BaseMapperX { + + default PageResult selectPage(ProcessingInfomationPageReqVO reqVO) { + return selectPage(reqVO, new LambdaQueryWrapperX() + .eqIfPresent(ProcessingInfomationDO::getParentId, reqVO.getParentId()) + .eqIfPresent(ProcessingInfomationDO::getCode, reqVO.getCode()) + .likeIfPresent(ProcessingInfomationDO::getName, reqVO.getName()) + .eqIfPresent(ProcessingInfomationDO::getTypeValue, reqVO.getTypeValue()) + .eqIfPresent(ProcessingInfomationDO::getStatusValue, reqVO.getStatusValue()) + .eqIfPresent(ProcessingInfomationDO::getDescription, reqVO.getDescription()) + .betweenIfPresent(ProcessingInfomationDO::getEffectiveDate, reqVO.getEffectiveDate()) + .betweenIfPresent(ProcessingInfomationDO::getCreateTime, reqVO.getCreateTime()) + .orderByDesc(ProcessingInfomationDO::getId)); + } + +} \ No newline at end of file diff --git a/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/dal/dao/processinginfomationoperation/ProcessingInfomationOperationMapper.java b/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/dal/dao/processinginfomationoperation/ProcessingInfomationOperationMapper.java new file mode 100644 index 0000000..e8748cc --- /dev/null +++ b/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/dal/dao/processinginfomationoperation/ProcessingInfomationOperationMapper.java @@ -0,0 +1,42 @@ +package com.zt.plat.module.base.dal.dao.processinginfomationoperation; + +import java.util.*; + +import com.zt.plat.framework.common.pojo.PageResult; +import com.zt.plat.framework.mybatis.core.query.LambdaQueryWrapperX; +import com.zt.plat.framework.mybatis.core.mapper.BaseMapperX; +import com.zt.plat.module.base.dal.dataobject.processinginfomationoperation.ProcessingInfomationOperationDO; +import org.apache.ibatis.annotations.Mapper; +import com.zt.plat.module.base.controller.admin.processinginfomationoperation.vo.*; + +/** + * 工艺工序 Mapper + * + * @author 后台管理-1 + */ +@Mapper +public interface ProcessingInfomationOperationMapper extends BaseMapperX { + + default PageResult selectPage(ProcessingInfomationOperationPageReqVO reqVO) { + return selectPage(reqVO, new LambdaQueryWrapperX() + .eqIfPresent(ProcessingInfomationOperationDO::getPreviousOperationId, reqVO.getPreviousOperationId()) + .eqIfPresent(ProcessingInfomationOperationDO::getNextOperationId, reqVO.getNextOperationId()) + .eqIfPresent(ProcessingInfomationOperationDO::getProcessingId, reqVO.getProcessingId()) + .eqIfPresent(ProcessingInfomationOperationDO::getIsKey, reqVO.getIsKey()) + .eqIfPresent(ProcessingInfomationOperationDO::getRemark, reqVO.getRemark()) + .betweenIfPresent(ProcessingInfomationOperationDO::getCreateTime, reqVO.getCreateTime()) + .orderByDesc(ProcessingInfomationOperationDO::getId)); + } + + default List selectList(ProcessingInfomationOperationPageReqVO reqVO) { + return selectList(new LambdaQueryWrapperX() + .eqIfPresent(ProcessingInfomationOperationDO::getPreviousOperationId, reqVO.getPreviousOperationId()) + .eqIfPresent(ProcessingInfomationOperationDO::getNextOperationId, reqVO.getNextOperationId()) + .eqIfPresent(ProcessingInfomationOperationDO::getProcessingId, reqVO.getProcessingId()) + .eqIfPresent(ProcessingInfomationOperationDO::getIsKey, reqVO.getIsKey()) + .eqIfPresent(ProcessingInfomationOperationDO::getRemark, reqVO.getRemark()) + .betweenIfPresent(ProcessingInfomationOperationDO::getCreateTime, reqVO.getCreateTime()) + .orderByDesc(ProcessingInfomationOperationDO::getId)); + } + +} \ No newline at end of file diff --git a/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/dal/dao/processingoperation/ProcessingOperationMapper.java b/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/dal/dao/processingoperation/ProcessingOperationMapper.java new file mode 100644 index 0000000..b611f7a --- /dev/null +++ b/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/dal/dao/processingoperation/ProcessingOperationMapper.java @@ -0,0 +1,31 @@ +package com.zt.plat.module.base.dal.dao.processingoperation; + +import java.util.*; + +import com.zt.plat.framework.common.pojo.PageResult; +import com.zt.plat.framework.mybatis.core.query.LambdaQueryWrapperX; +import com.zt.plat.framework.mybatis.core.mapper.BaseMapperX; +import com.zt.plat.module.base.dal.dataobject.processingoperation.ProcessingOperationDO; +import org.apache.ibatis.annotations.Mapper; +import com.zt.plat.module.base.controller.admin.processingoperation.vo.*; + +/** + * 工序 Mapper + * + * @author 后台管理-1 + */ +@Mapper +public interface ProcessingOperationMapper extends BaseMapperX { + + default PageResult selectPage(ProcessingOperationPageReqVO reqVO) { + return selectPage(reqVO, new LambdaQueryWrapperX() + .eqIfPresent(ProcessingOperationDO::getCode, reqVO.getCode()) + .likeIfPresent(ProcessingOperationDO::getName, reqVO.getName()) + .eqIfPresent(ProcessingOperationDO::getSort, reqVO.getSort()) + .eqIfPresent(ProcessingOperationDO::getTypeValue, reqVO.getTypeValue()) + .eqIfPresent(ProcessingOperationDO::getRemark, reqVO.getRemark()) + .betweenIfPresent(ProcessingOperationDO::getCreateTime, reqVO.getCreateTime()) + .orderByDesc(ProcessingOperationDO::getId)); + } + +} \ No newline at end of file diff --git a/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/dal/dao/processingoperationmaterial/ProcessingOperationMaterialMapper.java b/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/dal/dao/processingoperationmaterial/ProcessingOperationMaterialMapper.java new file mode 100644 index 0000000..81a4b50 --- /dev/null +++ b/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/dal/dao/processingoperationmaterial/ProcessingOperationMaterialMapper.java @@ -0,0 +1,29 @@ +package com.zt.plat.module.base.dal.dao.processingoperationmaterial; + +import java.util.*; + +import com.zt.plat.framework.common.pojo.PageResult; +import com.zt.plat.framework.mybatis.core.query.LambdaQueryWrapperX; +import com.zt.plat.framework.mybatis.core.mapper.BaseMapperX; +import com.zt.plat.module.base.dal.dataobject.processingoperationmaterial.ProcessingOperationMaterialDO; +import org.apache.ibatis.annotations.Mapper; +import com.zt.plat.module.base.controller.admin.processingoperationmaterial.vo.*; + +/** + * 工艺工序物料 Mapper + * + * @author 后台管理-1 + */ +@Mapper +public interface ProcessingOperationMaterialMapper extends BaseMapperX { + + default PageResult selectPage(ProcessingOperationMaterialPageReqVO reqVO) { + return selectPage(reqVO, new LambdaQueryWrapperX() + .eqIfPresent(ProcessingOperationMaterialDO::getTypeValue, reqVO.getTypeValue()) + .eqIfPresent(ProcessingOperationMaterialDO::getRemark, reqVO.getRemark()) + .betweenIfPresent(ProcessingOperationMaterialDO::getCreateTime, reqVO.getCreateTime()) + .eqIfPresent(ProcessingOperationMaterialDO::getDepartmentIds, reqVO.getDepartmentIds()) + .orderByDesc(ProcessingOperationMaterialDO::getId)); + } + +} \ No newline at end of file diff --git a/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/dal/dataobject/base/MaterialInfomationDO.java b/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/dal/dataobject/base/MaterialInfomationDO.java index 1515714..8b5f73e 100644 --- a/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/dal/dataobject/base/MaterialInfomationDO.java +++ b/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/dal/dataobject/base/MaterialInfomationDO.java @@ -39,6 +39,11 @@ public class MaterialInfomationDO extends BaseDO { @TableField("NAME") private String name; /** + * 分类ID(中间表关联) + */ + @TableField(exist = false) + private Long classesId; + /** * 备注 */ @TableField("RMK") diff --git a/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/dal/dataobject/departmentmaterial/DepartmentMaterialDO.java b/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/dal/dataobject/departmentmaterial/DepartmentMaterialDO.java new file mode 100644 index 0000000..a759e7b --- /dev/null +++ b/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/dal/dataobject/departmentmaterial/DepartmentMaterialDO.java @@ -0,0 +1,60 @@ +package com.zt.plat.module.base.dal.dataobject.departmentmaterial; + +import lombok.*; +import java.util.*; + import java.time.LocalDateTime; + import java.time.LocalDateTime; +import com.baomidou.mybatisplus.annotation.*; +import com.zt.plat.framework.mybatis.core.dataobject.BaseDO; +/** +* 组织架构物料 DO +* +* @author 后台管理-1 +*/ +@TableName("bse_dept_mtrl") +@KeySequence("bse_dept_mtrl_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。 +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +@Builder +@NoArgsConstructor +@AllArgsConstructor +/** +* 支持业务基类继承:isBusiness=true 时继承 BusinessBaseDO,否则继承 BaseDO +*/ +public class DepartmentMaterialDO extends BaseDO { + + + + /** + * 主键ID + */ + @TableId(type = IdType.ASSIGN_ID) + private Long id; + /** + * 部门ID + */ + @TableField("DEPT_ID") + private Long deptId; + /** + * 物料信息ID + */ + @TableField("INF_ID") + private Long infomationId; + /** + * 物料分类ID + */ + @TableField("CLS_ID") + private Long classesId; + /** + * 字典数据值-物料类型 + */ + @TableField("DIC_DAT_VAL") + private String dictionaryDataValue; + /** + * 备注 + */ + @TableField("RMK") + private String remark; + +} \ No newline at end of file diff --git a/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/dal/dataobject/materialclasses/MaterialClassesDO.java b/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/dal/dataobject/materialclasses/MaterialClassesDO.java new file mode 100644 index 0000000..fbf13b7 --- /dev/null +++ b/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/dal/dataobject/materialclasses/MaterialClassesDO.java @@ -0,0 +1,60 @@ +package com.zt.plat.module.base.dal.dataobject.materialclasses; + +import lombok.*; +import java.util.*; + import java.time.LocalDateTime; + import java.time.LocalDateTime; +import com.baomidou.mybatisplus.annotation.*; +import com.zt.plat.framework.mybatis.core.dataobject.BaseDO; +/** +* 物料分类 DO +* +* @author 后台管理-1 +*/ +@TableName("bse_mtrl_cls") +@KeySequence("bse_mtrl_cls_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。 +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +@Builder +@NoArgsConstructor +@AllArgsConstructor +/** +* 支持业务基类继承:isBusiness=true 时继承 BusinessBaseDO,否则继承 BaseDO +*/ +public class MaterialClassesDO extends BaseDO { + + + + /** + * 主键ID + */ + @TableId(type = IdType.ASSIGN_ID) + private Long id; + /** + * 父级ID + */ + @TableField("PRN_ID") + private Long parentId; + /** + * 分类编码 + */ + @TableField("CD") + private String code; + /** + * 分类名称 + */ + @TableField("NAME") + private String name; + /** + * 分类级别-用于类别层级(大/中/小类) + */ + @TableField("LVL") + private Long level; + /** + * 备注 + */ + @TableField("RMK") + private String remark; + +} \ No newline at end of file diff --git a/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/dal/dataobject/materialhasclasses/MaterialHasClassesDO.java b/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/dal/dataobject/materialhasclasses/MaterialHasClassesDO.java new file mode 100644 index 0000000..8bd7cee --- /dev/null +++ b/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/dal/dataobject/materialhasclasses/MaterialHasClassesDO.java @@ -0,0 +1,45 @@ +package com.zt.plat.module.base.dal.dataobject.materialhasclasses; + +import lombok.*; +import java.util.*; + import java.time.LocalDateTime; + import java.time.LocalDateTime; +import com.baomidou.mybatisplus.annotation.*; +import com.zt.plat.framework.mybatis.core.dataobject.BaseDO; +/** +* 物料持有分类 DO +* +* @author 后台管理-1 +*/ +@TableName("bse_mtrl_hs_cls") +@KeySequence("bse_mtrl_hs_cls_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。 +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +@Builder +@NoArgsConstructor +@AllArgsConstructor +/** +* 支持业务基类继承:isBusiness=true 时继承 BusinessBaseDO,否则继承 BaseDO +*/ +public class MaterialHasClassesDO extends BaseDO { + + + + /** + * 主键ID + */ + @TableId(type = IdType.ASSIGN_ID) + private Long id; + /** + * 物料信息ID + */ + @TableField("INF_ID") + private Long infomationId; + /** + * 分类ID + */ + @TableField("CLS_ID") + private Long classesId; + +} \ No newline at end of file diff --git a/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/dal/dataobject/materialhasproperties/MaterialHasPropertiesDO.java b/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/dal/dataobject/materialhasproperties/MaterialHasPropertiesDO.java new file mode 100644 index 0000000..8eccb9a --- /dev/null +++ b/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/dal/dataobject/materialhasproperties/MaterialHasPropertiesDO.java @@ -0,0 +1,70 @@ +package com.zt.plat.module.base.dal.dataobject.materialhasproperties; + +import lombok.*; +import java.util.*; + import java.time.LocalDateTime; + import java.time.LocalDateTime; +import com.baomidou.mybatisplus.annotation.*; +import com.zt.plat.framework.mybatis.core.dataobject.BaseDO; +/** +* 物料持有属性 DO +* +* @author 后台管理-1 +*/ +@TableName("bse_mtrl_hs_prps") +@KeySequence("bse_mtrl_hs_prps_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。 +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +@Builder +@NoArgsConstructor +@AllArgsConstructor +/** +* 支持业务基类继承:isBusiness=true 时继承 BusinessBaseDO,否则继承 BaseDO +*/ +public class MaterialHasPropertiesDO extends BaseDO { + + + + /** + * 主键ID + */ + @TableId(type = IdType.ASSIGN_ID) + private Long id; + /** + * 物料信息ID + */ + @TableField("INF_ID") + private Long infomationId; + /** + * 属性ID + */ + @TableField("PRPS_ID") + private Long propertiesId; + /** + * 计量单位ID-默认计量单位 + */ + @TableField("UNT_ID") + private Long unitId; + /** + * 属性值 + */ + @TableField("VAL") + private String value; + /** + * 是否关键属性-关键属性表示物料唯一性 + */ + @TableField("IS_KY") + private Integer isKey; + /** + * 是否计量定价 + */ + @TableField("IS_MTNG") + private Integer isMetering; + /** + * 排序号 + */ + @TableField("SRT") + private Long sort; + +} \ No newline at end of file diff --git a/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/dal/dataobject/materialproperties/MaterialPropertiesDO.java b/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/dal/dataobject/materialproperties/MaterialPropertiesDO.java new file mode 100644 index 0000000..a075eeb --- /dev/null +++ b/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/dal/dataobject/materialproperties/MaterialPropertiesDO.java @@ -0,0 +1,65 @@ +package com.zt.plat.module.base.dal.dataobject.materialproperties; + +import lombok.*; +import java.util.*; + import java.time.LocalDateTime; + import java.time.LocalDateTime; +import com.baomidou.mybatisplus.annotation.*; +import com.zt.plat.framework.mybatis.core.dataobject.BaseDO; +/** +* 物料属性 DO +* +* @author 后台管理-1 +*/ +@TableName("bse_mtrl_prps") +@KeySequence("bse_mtrl_prps_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。 +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +@Builder +@NoArgsConstructor +@AllArgsConstructor +/** +* 支持业务基类继承:isBusiness=true 时继承 BusinessBaseDO,否则继承 BaseDO +*/ +public class MaterialPropertiesDO extends BaseDO { + + + + /** + * 主键ID + */ + @TableId(type = IdType.ASSIGN_ID) + private Long id; + /** + * 属性编码 + */ + @TableField("CD") + private String code; + /** + * 属性名称 + */ + @TableField("NAME") + private String name; + /** + * 计量单位量ID + */ + @TableField("UNT_QTY_ID") + private Long unitQuantityId; + /** + * 业务字典数据值 + */ + @TableField("DIC_DAT_VAL") + private String dictionaryDataValue; + /** + * 数据类型 + */ + @TableField("DAT_TP") + private String dataType; + /** + * 备注 + */ + @TableField("RMK") + private String remark; + +} \ No newline at end of file diff --git a/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/dal/dataobject/processinginfomation/ProcessingInfomationDO.java b/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/dal/dataobject/processinginfomation/ProcessingInfomationDO.java new file mode 100644 index 0000000..45c196a --- /dev/null +++ b/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/dal/dataobject/processinginfomation/ProcessingInfomationDO.java @@ -0,0 +1,76 @@ +package com.zt.plat.module.base.dal.dataobject.processinginfomation; + +import lombok.*; +import java.util.*; + import java.time.LocalDateTime; + import java.time.LocalDateTime; + import java.time.LocalDateTime; +import com.baomidou.mybatisplus.annotation.*; +import com.zt.plat.framework.mybatis.core.dataobject.BaseDO; +/** +* 工艺信息 DO +* +* @author 后台管理-1 +*/ +@TableName("bse_proc_inf") +@KeySequence("bse_proc_inf_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。 +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +@Builder +@NoArgsConstructor +@AllArgsConstructor +/** +* 支持业务基类继承:isBusiness=true 时继承 BusinessBaseDO,否则继承 BaseDO +*/ +public class ProcessingInfomationDO extends BaseDO { + + + + /** + * 主键ID + */ + @TableId(type = IdType.ASSIGN_ID) + private Long id; + /** + * 父级ID + */ + @TableField("PRN_ID") + private Long parentId; + /** + * 工艺编码-唯一业务键 + */ + @TableField("CD") + private String code; + /** + * 工艺名称 + */ + @TableField("NAME") + private String name; + /** + * 工艺类型值 + */ + @TableField("TP_VAL") + private Long typeValue; + /** + * 状态值-工艺状态 + */ + @TableField("STS_VAL") + private String statusValue; + /** + * 工艺描述 + */ + @TableField("DSP") + private String description; + /** + * 部门ID + */ + @TableField("DEPT_ID") + private Long deptId; + /** + * 生效日期 + */ + @TableField("EFCT_DT") + private LocalDateTime effectiveDate; + +} \ No newline at end of file diff --git a/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/dal/dataobject/processinginfomationoperation/ProcessingInfomationOperationDO.java b/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/dal/dataobject/processinginfomationoperation/ProcessingInfomationOperationDO.java new file mode 100644 index 0000000..1710df1 --- /dev/null +++ b/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/dal/dataobject/processinginfomationoperation/ProcessingInfomationOperationDO.java @@ -0,0 +1,60 @@ +package com.zt.plat.module.base.dal.dataobject.processinginfomationoperation; + +import lombok.*; +import java.util.*; + import java.time.LocalDateTime; + import java.time.LocalDateTime; +import com.baomidou.mybatisplus.annotation.*; +import com.zt.plat.framework.mybatis.core.dataobject.BaseDO; +/** +* 工艺工序 DO +* +* @author 后台管理-1 +*/ +@TableName("bse_proc_inf_optn") +@KeySequence("bse_proc_inf_optn_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。 +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +@Builder +@NoArgsConstructor +@AllArgsConstructor +/** +* 支持业务基类继承:isBusiness=true 时继承 BusinessBaseDO,否则继承 BaseDO +*/ +public class ProcessingInfomationOperationDO extends BaseDO { + + + + /** + * 主键ID + */ + @TableId(type = IdType.ASSIGN_ID) + private Long id; + /** + * 前序工序ID + */ + @TableField("PRE_OPTN_ID") + private Long previousOperationId; + /** + * 后续工序ID + */ + @TableField("NXT_OPTN_ID") + private Long nextOperationId; + /** + * 工艺ID + */ + @TableField("PROC_ID") + private Long processingId; + /** + * 是否关键工序 + */ + @TableField("IS_KY") + private Integer isKey; + /** + * 备注 + */ + @TableField("RMK") + private String remark; + +} \ No newline at end of file diff --git a/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/dal/dataobject/processingoperation/ProcessingOperationDO.java b/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/dal/dataobject/processingoperation/ProcessingOperationDO.java new file mode 100644 index 0000000..be78b17 --- /dev/null +++ b/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/dal/dataobject/processingoperation/ProcessingOperationDO.java @@ -0,0 +1,60 @@ +package com.zt.plat.module.base.dal.dataobject.processingoperation; + +import lombok.*; +import java.util.*; + import java.time.LocalDateTime; + import java.time.LocalDateTime; +import com.baomidou.mybatisplus.annotation.*; +import com.zt.plat.framework.mybatis.core.dataobject.BaseDO; +/** +* 工序 DO +* +* @author 后台管理-1 +*/ +@TableName("bse_proc_optn") +@KeySequence("bse_proc_optn_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。 +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +@Builder +@NoArgsConstructor +@AllArgsConstructor +/** +* 支持业务基类继承:isBusiness=true 时继承 BusinessBaseDO,否则继承 BaseDO +*/ +public class ProcessingOperationDO extends BaseDO { + + + + /** + * 主键ID + */ + @TableId(type = IdType.ASSIGN_ID) + private Long id; + /** + * 工序编码 + */ + @TableField("CD") + private String code; + /** + * 工序名称 + */ + @TableField("NAME") + private String name; + /** + * 排序号 + */ + @TableField("SRT") + private Long sort; + /** + * 类型值-工序类型 + */ + @TableField("TP_VAL") + private String typeValue; + /** + * 备注 + */ + @TableField("RMK") + private String remark; + +} \ No newline at end of file diff --git a/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/dal/dataobject/processingoperationmaterial/ProcessingOperationMaterialDO.java b/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/dal/dataobject/processingoperationmaterial/ProcessingOperationMaterialDO.java new file mode 100644 index 0000000..e1447cd --- /dev/null +++ b/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/dal/dataobject/processingoperationmaterial/ProcessingOperationMaterialDO.java @@ -0,0 +1,58 @@ +package com.zt.plat.module.base.dal.dataobject.processingoperationmaterial; + +import lombok.*; +import java.util.*; + import java.time.LocalDateTime; + import java.time.LocalDateTime; +import com.baomidou.mybatisplus.annotation.*; +import com.zt.plat.framework.mybatis.core.dataobject.BaseDO; +/** +* 工艺工序物料 DO +* +* @author 后台管理-1 +*/ +@TableName("bse_proc_optn_mtrl") +@KeySequence("bse_proc_optn_mtrl_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。 +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +@Builder +@NoArgsConstructor +@AllArgsConstructor +/** +* 支持业务基类继承:isBusiness=true 时继承 BusinessBaseDO,否则继承 BaseDO +*/ +public class ProcessingOperationMaterialDO extends BaseDO { + + + + /** + * 主键ID + */ + @TableId(type = IdType.ASSIGN_ID) + private Long id; + /** + * 工艺工序ID + */ + private Long processingOperationId; + /** + * 物料ID + */ + private Long materialId; + /** + * 类型值-物料类型(产出/投入) + */ + @TableField("TP_VAL") + private String typeValue; + /** + * 备注 + */ + @TableField("RMK") + private String remark; + /** + * 组织机构 + */ + @TableField("DEPT_IDS") + private String departmentIds; + +} \ No newline at end of file diff --git a/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/dal/mysql/base/MaterialInfomationMapper.java b/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/dal/mysql/base/MaterialInfomationMapper.java index 2e353cb..e0c41fd 100644 --- a/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/dal/mysql/base/MaterialInfomationMapper.java +++ b/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/dal/mysql/base/MaterialInfomationMapper.java @@ -7,6 +7,8 @@ import com.zt.plat.module.base.controller.admin.base.vo.MaterialInfomationPageRe import com.zt.plat.module.base.dal.dataobject.base.MaterialInfomationDO; import org.apache.ibatis.annotations.Mapper; +import java.util.Collection; + /** * 物料信息 Mapper * @@ -16,11 +18,16 @@ import org.apache.ibatis.annotations.Mapper; public interface MaterialInfomationMapper extends BaseMapperX { default PageResult selectPage(MaterialInfomationPageReqVO reqVO) { - return selectPage(reqVO, new LambdaQueryWrapperX() + return selectPage(reqVO, (Collection) null); + } + + default PageResult selectPage(MaterialInfomationPageReqVO reqVO, Collection infomationIds) { + return BaseMapperX.super.selectPage(reqVO, new LambdaQueryWrapperX() .eqIfPresent(MaterialInfomationDO::getCode, reqVO.getCode()) .likeIfPresent(MaterialInfomationDO::getName, reqVO.getName()) .eqIfPresent(MaterialInfomationDO::getRemark, reqVO.getRemark()) .betweenIfPresent(MaterialInfomationDO::getCreateTime, reqVO.getCreateTime()) + .inIfPresent(MaterialInfomationDO::getId, infomationIds) .orderByDesc(MaterialInfomationDO::getId)); } diff --git a/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/service/base/MaterialInfomationServiceImpl.java b/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/service/base/MaterialInfomationServiceImpl.java index eec1acc..2333fc2 100644 --- a/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/service/base/MaterialInfomationServiceImpl.java +++ b/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/service/base/MaterialInfomationServiceImpl.java @@ -1,21 +1,29 @@ package com.zt.plat.module.base.service.base; import cn.hutool.core.collection.CollUtil; +import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; 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.module.base.controller.admin.base.vo.MaterialInfomationPageReqVO; import com.zt.plat.module.base.controller.admin.base.vo.MaterialInfomationRespVO; import com.zt.plat.module.base.controller.admin.base.vo.MaterialInfomationSaveReqVO; +import com.zt.plat.module.base.dal.dao.materialhasclasses.MaterialHasClassesMapper; import com.zt.plat.module.base.dal.dataobject.base.MaterialInfomationDO; +import com.zt.plat.module.base.dal.dataobject.materialhasclasses.MaterialHasClassesDO; import com.zt.plat.module.base.dal.mysql.base.MaterialInfomationMapper; import com.zt.plat.module.erp.api.ErpExternalApi; import com.zt.plat.module.erp.api.dto.ErpProductiveVersionReqDTO; import jakarta.annotation.Resource; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; import org.springframework.validation.annotation.Validated; +import java.util.Collections; import java.util.List; +import java.util.Map; +import java.util.Objects; +import java.util.stream.Collectors; import static com.zt.plat.framework.common.exception.util.ServiceExceptionUtil.exception; import static com.zt.plat.module.base.enums.ErrorCodeConstants.MATERIAL_INFOMATION_NOT_EXISTS; @@ -35,23 +43,46 @@ public class MaterialInfomationServiceImpl implements MaterialInfomationService @Resource private ErpExternalApi erpExternalApi; + @Resource + private MaterialHasClassesMapper materialHasClassesMapper; @Override + @Transactional(rollbackFor = Exception.class) public MaterialInfomationRespVO createMaterialInfomation(MaterialInfomationSaveReqVO createReqVO) { // 插入 MaterialInfomationDO materialInfomation = BeanUtils.toBean(createReqVO, MaterialInfomationDO.class); materialInfomationMapper.insert(materialInfomation); + // 维护分类关联 + if (createReqVO.getClassesId() != null) { + MaterialHasClassesDO relation = MaterialHasClassesDO.builder() + .classesId(createReqVO.getClassesId()) + .infomationId(materialInfomation.getId()) + .build(); + materialHasClassesMapper.insert(relation); + materialInfomation.setClassesId(createReqVO.getClassesId()); + } // 返回 return BeanUtils.toBean(materialInfomation, MaterialInfomationRespVO.class); } @Override + @Transactional(rollbackFor = Exception.class) public void updateMaterialInfomation(MaterialInfomationSaveReqVO updateReqVO) { // 校验存在 validateMaterialInfomationExists(updateReqVO.getId()); // 更新 MaterialInfomationDO updateObj = BeanUtils.toBean(updateReqVO, MaterialInfomationDO.class); materialInfomationMapper.updateById(updateObj); + // 更新分类关联 + materialHasClassesMapper.delete(new LambdaUpdateWrapper() + .eq(MaterialHasClassesDO::getInfomationId, updateReqVO.getId())); + if (updateReqVO.getClassesId() != null) { + MaterialHasClassesDO relation = MaterialHasClassesDO.builder() + .classesId(updateReqVO.getClassesId()) + .infomationId(updateReqVO.getId()) + .build(); + materialHasClassesMapper.insert(relation); + } } @Override @@ -60,6 +91,8 @@ public class MaterialInfomationServiceImpl implements MaterialInfomationService validateMaterialInfomationExists(id); // 删除 materialInfomationMapper.deleteById(id); + materialHasClassesMapper.delete(new LambdaUpdateWrapper() + .eq(MaterialHasClassesDO::getInfomationId, id)); } @Override @@ -85,12 +118,52 @@ public class MaterialInfomationServiceImpl implements MaterialInfomationService @Override public MaterialInfomationDO getMaterialInfomation(Long id) { - return materialInfomationMapper.selectById(id); + MaterialInfomationDO info = materialInfomationMapper.selectById(id); + if (info == null) { + return null; + } + MaterialHasClassesDO relation = materialHasClassesMapper.selectFirstOne(MaterialHasClassesDO::getInfomationId, id); + if (relation != null) { + info.setClassesId(relation.getClassesId()); + } + return info; } @Override public PageResult getMaterialInfomationPage(MaterialInfomationPageReqVO pageReqVO) { - return materialInfomationMapper.selectPage(pageReqVO); + List infomationIds = null; + List relationList = Collections.emptyList(); + if (pageReqVO.getClassesId() != null) { + relationList = materialHasClassesMapper.selectList(MaterialHasClassesDO::getClassesId, pageReqVO.getClassesId()); + if (CollUtil.isEmpty(relationList)) { + return PageResult.empty(); + } + infomationIds = relationList.stream() + .map(MaterialHasClassesDO::getInfomationId) + .filter(Objects::nonNull) + .distinct() + .collect(Collectors.toList()); + } + + PageResult pageResult = materialInfomationMapper.selectPage(pageReqVO, infomationIds); + if (CollUtil.isEmpty(pageResult.getList())) { + return pageResult; + } + + List currentInfoIds = pageResult.getList().stream() + .map(MaterialInfomationDO::getId) + .collect(Collectors.toList()); + + if (pageReqVO.getClassesId() == null) { + relationList = materialHasClassesMapper.selectList(MaterialHasClassesDO::getInfomationId, currentInfoIds); + } + + Map infoClassMap = relationList.stream() + .filter(item -> item.getInfomationId() != null) + .collect(Collectors.toMap(MaterialHasClassesDO::getInfomationId, MaterialHasClassesDO::getClassesId, (existing, replacement) -> existing)); + + pageResult.getList().forEach(item -> item.setClassesId(infoClassMap.get(item.getId()))); + return pageResult; } @Override diff --git a/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/service/departmentmaterial/DepartmentMaterialService.java b/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/service/departmentmaterial/DepartmentMaterialService.java new file mode 100644 index 0000000..0641958 --- /dev/null +++ b/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/service/departmentmaterial/DepartmentMaterialService.java @@ -0,0 +1,62 @@ +package com.zt.plat.module.base.service.departmentmaterial; + +import java.util.*; +import jakarta.validation.*; +import com.zt.plat.module.base.controller.admin.departmentmaterial.vo.*; +import com.zt.plat.module.base.dal.dataobject.departmentmaterial.DepartmentMaterialDO; +import com.zt.plat.framework.common.pojo.PageResult; +import com.zt.plat.framework.common.pojo.PageParam; + +/** + * 组织架构物料 Service 接口 + * + * @author 后台管理-1 + */ +public interface DepartmentMaterialService { + + /** + * 创建组织架构物料 + * + * @param createReqVO 创建信息 + * @return 编号 + */ + DepartmentMaterialRespVO createDepartmentMaterial(@Valid DepartmentMaterialSaveReqVO createReqVO); + + /** + * 更新组织架构物料 + * + * @param updateReqVO 更新信息 + */ + void updateDepartmentMaterial(@Valid DepartmentMaterialSaveReqVO updateReqVO); + + /** + * 删除组织架构物料 + * + * @param id 编号 + */ + void deleteDepartmentMaterial(Long id); + + /** + * 批量删除组织架构物料 + * + * @param ids 编号 + */ + void deleteDepartmentMaterialListByIds(List ids); + + /** + * 获得组织架构物料 + * + * @param id 编号 + * @return 组织架构物料 + */ + DepartmentMaterialDO getDepartmentMaterial(Long id); + + /** + * 获得组织架构物料分页 + * + * @param pageReqVO 分页查询 + * @return 组织架构物料分页 + */ + PageResult getDepartmentMaterialPage(DepartmentMaterialPageReqVO pageReqVO); + +} \ No newline at end of file diff --git a/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/service/departmentmaterial/DepartmentMaterialServiceImpl.java b/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/service/departmentmaterial/DepartmentMaterialServiceImpl.java new file mode 100644 index 0000000..72c3f05 --- /dev/null +++ b/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/service/departmentmaterial/DepartmentMaterialServiceImpl.java @@ -0,0 +1,246 @@ +package com.zt.plat.module.base.service.departmentmaterial; + +import cn.hutool.core.collection.CollUtil; +import cn.hutool.core.util.StrUtil; +import jakarta.annotation.Resource; +import org.springframework.stereotype.Service; +import org.springframework.validation.annotation.Validated; + +import java.util.*; +import java.util.function.Function; +import java.util.stream.Collectors; + +import com.zt.plat.framework.common.pojo.PageResult; +import com.zt.plat.framework.common.util.collection.CollectionUtils; +import com.zt.plat.framework.common.util.object.BeanUtils; +import com.zt.plat.framework.mybatis.core.query.LambdaQueryWrapperX; +import com.zt.plat.module.base.controller.admin.departmentmaterial.vo.*; +import com.zt.plat.module.base.dal.dao.departmentmaterial.DepartmentMaterialMapper; +import com.zt.plat.module.base.dal.dao.materialclasses.MaterialClassesMapper; +import com.zt.plat.module.base.dal.dataobject.base.MaterialInfomationDO; +import com.zt.plat.module.base.dal.dataobject.departmentmaterial.DepartmentMaterialDO; +import com.zt.plat.module.base.dal.dataobject.materialclasses.MaterialClassesDO; +import com.zt.plat.module.base.dal.mysql.base.MaterialInfomationMapper; +import com.zt.plat.module.system.api.dept.DeptApi; +import com.zt.plat.module.system.api.dept.dto.DeptRespDTO; + +import static com.zt.plat.framework.common.exception.util.ServiceExceptionUtil.exception; +import static com.zt.plat.module.base.enums.ErrorCodeConstants.*; + +/** + * 组织架构物料 Service 实现类 + * + * @author 后台管理-1 + */ +@Service +@Validated +public class DepartmentMaterialServiceImpl implements DepartmentMaterialService { + + @Resource + private DepartmentMaterialMapper departmentMaterialMapper; + + @Resource + private MaterialInfomationMapper materialInfomationMapper; + + @Resource + private MaterialClassesMapper materialClassesMapper; + + @Resource + private DeptApi deptApi; + + @Override + public DepartmentMaterialRespVO createDepartmentMaterial(DepartmentMaterialSaveReqVO createReqVO) { + // 插入 + DepartmentMaterialDO departmentMaterial = BeanUtils.toBean(createReqVO, DepartmentMaterialDO.class); + departmentMaterialMapper.insert(departmentMaterial); + // 返回 + return BeanUtils.toBean(departmentMaterial, DepartmentMaterialRespVO.class); + } + + @Override + public void updateDepartmentMaterial(DepartmentMaterialSaveReqVO updateReqVO) { + // 校验存在 + validateDepartmentMaterialExists(updateReqVO.getId()); + // 更新 + DepartmentMaterialDO updateObj = BeanUtils.toBean(updateReqVO, DepartmentMaterialDO.class); + departmentMaterialMapper.updateById(updateObj); + } + + @Override + public void deleteDepartmentMaterial(Long id) { + // 校验存在 + validateDepartmentMaterialExists(id); + // 删除 + departmentMaterialMapper.deleteById(id); + } + + @Override + public void deleteDepartmentMaterialListByIds(List ids) { + // 校验存在 + validateDepartmentMaterialExists(ids); + // 删除 + departmentMaterialMapper.deleteByIds(ids); + } + + private void validateDepartmentMaterialExists(List ids) { + List list = departmentMaterialMapper.selectByIds(ids); + if (CollUtil.isEmpty(list) || list.size() != ids.size()) { + throw exception(DEPARTMENT_MATERIAL_NOT_EXISTS); + } + } + + private void validateDepartmentMaterialExists(Long id) { + if (departmentMaterialMapper.selectById(id) == null) { + throw exception(DEPARTMENT_MATERIAL_NOT_EXISTS); + } + } + + @Override + public DepartmentMaterialDO getDepartmentMaterial(Long id) { + return departmentMaterialMapper.selectById(id); + } + + @Override + public PageResult getDepartmentMaterialPage(DepartmentMaterialPageReqVO pageReqVO) { + // 预处理物料名称/编码查询条件 + List matchedInfoIds = null; + if (StrUtil.isNotBlank(pageReqVO.getMaterialName()) || StrUtil.isNotBlank(pageReqVO.getMaterialNumber())) { + LambdaQueryWrapperX infoWrapper = new LambdaQueryWrapperX<>(); + infoWrapper.likeIfPresent(MaterialInfomationDO::getName, pageReqVO.getMaterialName()) + .likeIfPresent(MaterialInfomationDO::getCode, pageReqVO.getMaterialNumber()); + List infoCandidates = materialInfomationMapper.selectList(infoWrapper); + if (CollUtil.isEmpty(infoCandidates)) { + return PageResult.empty(); + } + matchedInfoIds = infoCandidates.stream().map(MaterialInfomationDO::getId).toList(); + pageReqVO.setInfomationIds(matchedInfoIds); + } + + PageResult pageResult = departmentMaterialMapper.selectPage(pageReqVO); + // 重置,避免后续使用该入参出现意外的 in 条件 + pageReqVO.setInfomationIds(null); + + if (CollUtil.isEmpty(pageResult.getList())) { + return PageResult.empty(pageResult.getTotal()); + } + + // 关联数据准备 + Set infoIds = pageResult.getList().stream() + .map(DepartmentMaterialDO::getInfomationId) + .filter(Objects::nonNull) + .collect(Collectors.toSet()); + Map infoMap = infoIds.isEmpty() + ? Collections.emptyMap() + : materialInfomationMapper.selectBatchIds(infoIds).stream() + .filter(Objects::nonNull) + .collect(Collectors.toMap(MaterialInfomationDO::getId, Function.identity())); + + Set classIds = new HashSet<>(); + pageResult.getList().forEach(item -> { + if (item.getClassesId() != null) { + classIds.add(item.getClassesId()); + } + MaterialInfomationDO info = infoMap.get(item.getInfomationId()); + if (info != null && info.getClassesId() != null) { + classIds.add(info.getClassesId()); + } + }); + + Map classCache = loadClassHierarchy(classIds); + + Set deptIds = pageResult.getList().stream() + .map(DepartmentMaterialDO::getDeptId) + .filter(Objects::nonNull) + .collect(Collectors.toSet()); + + Map deptMap = Collections.emptyMap(); + if (!deptIds.isEmpty()) { + try { + deptMap = CollectionUtils.convertMap(deptApi.getDeptList(deptIds).getCheckedData(), DeptRespDTO::getId); + } catch (Exception ignore) { + deptMap = Collections.emptyMap(); + } + } + + List respList = new ArrayList<>(pageResult.getList().size()); + for (DepartmentMaterialDO item : pageResult.getList()) { + DepartmentMaterialRespVO respVO = BeanUtils.toBean(item, DepartmentMaterialRespVO.class); + + MaterialInfomationDO info = infoMap.get(item.getInfomationId()); + if (info != null) { + respVO.setMaterialNumber(info.getCode()); + respVO.setMaterialName(info.getName()); + } + + Long targetClassId = item.getClassesId(); + if (targetClassId == null && info != null) { + targetClassId = info.getClassesId(); + } + if (targetClassId != null) { + List classPath = buildClassPath(targetClassId, classCache); + if (!classPath.isEmpty()) { + respVO.setCategoryLargeName(classPath.get(0)); + if (classPath.size() > 1) { + respVO.setCategoryMediumName(classPath.get(1)); + } + if (classPath.size() > 2) { + respVO.setCategorySmallName(classPath.get(classPath.size() - 1)); + } + respVO.setCategoryPath(String.join("/", classPath)); + } + } + + DeptRespDTO deptRespDTO = deptMap.get(item.getDeptId()); + if (deptRespDTO != null) { + respVO.setDeptName(deptRespDTO.getName()); + } + + respVO.setStatusLabel(StrUtil.isNotBlank(respVO.getStatusLabel()) ? respVO.getStatusLabel() : "未配置"); + + respVO.setDictionaryDataLabel(respVO.getDictionaryDataValue()); + respList.add(respVO); + } + + return new PageResult<>(respList, pageResult.getTotal()); + } + + private Map loadClassHierarchy(Set initialIds) { + if (CollUtil.isEmpty(initialIds)) { + return Collections.emptyMap(); + } + Map cache = new HashMap<>(); + Set pending = new HashSet<>(initialIds); + while (!pending.isEmpty()) { + List fetched = materialClassesMapper.selectBatchIds(pending); + pending = new HashSet<>(); + for (MaterialClassesDO cls : fetched) { + if (cls == null || cache.containsKey(cls.getId())) { + continue; + } + cache.put(cls.getId(), cls); + Long parentId = cls.getParentId(); + if (parentId != null && parentId > 0 && !cache.containsKey(parentId)) { + pending.add(parentId); + } + } + } + return cache; + } + + private List buildClassPath(Long classId, Map cache) { + List path = new ArrayList<>(); + MaterialClassesDO current = cache.get(classId); + int guard = 0; + while (current != null && guard++ < 10) { + path.add(current.getName()); + Long parentId = current.getParentId(); + if (parentId == null || parentId == 0) { + break; + } + current = cache.get(parentId); + } + Collections.reverse(path); + return path; + } + +} \ No newline at end of file diff --git a/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/service/materialclasses/MaterialClassesService.java b/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/service/materialclasses/MaterialClassesService.java new file mode 100644 index 0000000..d24a3de --- /dev/null +++ b/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/service/materialclasses/MaterialClassesService.java @@ -0,0 +1,69 @@ +package com.zt.plat.module.base.service.materialclasses; + +import java.util.*; +import jakarta.validation.*; +import com.zt.plat.module.base.controller.admin.materialclasses.vo.*; +import com.zt.plat.module.base.dal.dataobject.materialclasses.MaterialClassesDO; +import com.zt.plat.framework.common.pojo.PageResult; +import com.zt.plat.framework.common.pojo.PageParam; + +/** + * 物料分类 Service 接口 + * + * @author 后台管理-1 + */ +public interface MaterialClassesService { + + /** + * 创建物料分类 + * + * @param createReqVO 创建信息 + * @return 编号 + */ + MaterialClassesRespVO createMaterialClasses(@Valid MaterialClassesSaveReqVO createReqVO); + + /** + * 更新物料分类 + * + * @param updateReqVO 更新信息 + */ + void updateMaterialClasses(@Valid MaterialClassesSaveReqVO updateReqVO); + + /** + * 删除物料分类 + * + * @param id 编号 + */ + void deleteMaterialClasses(Long id); + + /** + * 批量删除物料分类 + * + * @param ids 编号 + */ + void deleteMaterialClassesListByIds(List ids); + + /** + * 获得物料分类 + * + * @param id 编号 + * @return 物料分类 + */ + MaterialClassesDO getMaterialClasses(Long id); + + /** + * 获得物料分类分页 + * + * @param pageReqVO 分页查询 + * @return 物料分类分页 + */ + PageResult getMaterialClassesPage(MaterialClassesPageReqVO pageReqVO); + + /** + * 获得全部物料分类 + * + * @return 分类列表 + */ + List getMaterialClassesList(); + +} \ No newline at end of file diff --git a/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/service/materialclasses/MaterialClassesServiceImpl.java b/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/service/materialclasses/MaterialClassesServiceImpl.java new file mode 100644 index 0000000..e7b216d --- /dev/null +++ b/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/service/materialclasses/MaterialClassesServiceImpl.java @@ -0,0 +1,97 @@ +package com.zt.plat.module.base.service.materialclasses; + +import cn.hutool.core.collection.CollUtil; +import org.springframework.stereotype.Service; +import jakarta.annotation.Resource; +import org.springframework.validation.annotation.Validated; +import org.springframework.transaction.annotation.Transactional; + +import java.util.*; +import com.zt.plat.module.base.controller.admin.materialclasses.vo.*; +import com.zt.plat.module.base.dal.dataobject.materialclasses.MaterialClassesDO; +import com.zt.plat.framework.common.pojo.PageResult; +import com.zt.plat.framework.common.pojo.PageParam; +import com.zt.plat.framework.common.util.object.BeanUtils; + +import com.zt.plat.module.base.dal.dao.materialclasses.MaterialClassesMapper; + +import static com.zt.plat.framework.common.exception.util.ServiceExceptionUtil.exception; +import static com.zt.plat.framework.common.util.collection.CollectionUtils.convertList; +import static com.zt.plat.framework.common.util.collection.CollectionUtils.diffList; +import static com.zt.plat.module.base.enums.ErrorCodeConstants.*; + +/** + * 物料分类 Service 实现类 + * + * @author 后台管理-1 + */ +@Service +@Validated +public class MaterialClassesServiceImpl implements MaterialClassesService { + + @Resource + private MaterialClassesMapper materialClassesMapper; + + @Override + public MaterialClassesRespVO createMaterialClasses(MaterialClassesSaveReqVO createReqVO) { + // 插入 + MaterialClassesDO materialClasses = BeanUtils.toBean(createReqVO, MaterialClassesDO.class); + materialClassesMapper.insert(materialClasses); + // 返回 + return BeanUtils.toBean(materialClasses, MaterialClassesRespVO.class); + } + + @Override + public void updateMaterialClasses(MaterialClassesSaveReqVO updateReqVO) { + // 校验存在 + validateMaterialClassesExists(updateReqVO.getId()); + // 更新 + MaterialClassesDO updateObj = BeanUtils.toBean(updateReqVO, MaterialClassesDO.class); + materialClassesMapper.updateById(updateObj); + } + + @Override + public void deleteMaterialClasses(Long id) { + // 校验存在 + validateMaterialClassesExists(id); + // 删除 + materialClassesMapper.deleteById(id); + } + + @Override + public void deleteMaterialClassesListByIds(List ids) { + // 校验存在 + validateMaterialClassesExists(ids); + // 删除 + materialClassesMapper.deleteByIds(ids); + } + + private void validateMaterialClassesExists(List ids) { + List list = materialClassesMapper.selectByIds(ids); + if (CollUtil.isEmpty(list) || list.size() != ids.size()) { + throw exception(MATERIAL_CLASSES_NOT_EXISTS); + } + } + + private void validateMaterialClassesExists(Long id) { + if (materialClassesMapper.selectById(id) == null) { + throw exception(MATERIAL_CLASSES_NOT_EXISTS); + } + } + + @Override + public MaterialClassesDO getMaterialClasses(Long id) { + return materialClassesMapper.selectById(id); + } + + @Override + public PageResult getMaterialClassesPage(MaterialClassesPageReqVO pageReqVO) { + return materialClassesMapper.selectPage(pageReqVO); + } + + @Override + public List getMaterialClassesList() { + return materialClassesMapper.selectList(); + } + +} \ No newline at end of file diff --git a/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/service/materialhasclasses/MaterialHasClassesService.java b/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/service/materialhasclasses/MaterialHasClassesService.java new file mode 100644 index 0000000..596ed2b --- /dev/null +++ b/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/service/materialhasclasses/MaterialHasClassesService.java @@ -0,0 +1,62 @@ +package com.zt.plat.module.base.service.materialhasclasses; + +import java.util.*; +import jakarta.validation.*; +import com.zt.plat.module.base.controller.admin.materialhasclasses.vo.*; +import com.zt.plat.module.base.dal.dataobject.materialhasclasses.MaterialHasClassesDO; +import com.zt.plat.framework.common.pojo.PageResult; +import com.zt.plat.framework.common.pojo.PageParam; + +/** + * 物料持有分类 Service 接口 + * + * @author 后台管理-1 + */ +public interface MaterialHasClassesService { + + /** + * 创建物料持有分类 + * + * @param createReqVO 创建信息 + * @return 编号 + */ + MaterialHasClassesRespVO createMaterialHasClasses(@Valid MaterialHasClassesSaveReqVO createReqVO); + + /** + * 更新物料持有分类 + * + * @param updateReqVO 更新信息 + */ + void updateMaterialHasClasses(@Valid MaterialHasClassesSaveReqVO updateReqVO); + + /** + * 删除物料持有分类 + * + * @param id 编号 + */ + void deleteMaterialHasClasses(Long id); + + /** + * 批量删除物料持有分类 + * + * @param ids 编号 + */ + void deleteMaterialHasClassesListByIds(List ids); + + /** + * 获得物料持有分类 + * + * @param id 编号 + * @return 物料持有分类 + */ + MaterialHasClassesDO getMaterialHasClasses(Long id); + + /** + * 获得物料持有分类分页 + * + * @param pageReqVO 分页查询 + * @return 物料持有分类分页 + */ + PageResult getMaterialHasClassesPage(MaterialHasClassesPageReqVO pageReqVO); + +} \ No newline at end of file diff --git a/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/service/materialhasclasses/MaterialHasClassesServiceImpl.java b/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/service/materialhasclasses/MaterialHasClassesServiceImpl.java new file mode 100644 index 0000000..5831496 --- /dev/null +++ b/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/service/materialhasclasses/MaterialHasClassesServiceImpl.java @@ -0,0 +1,92 @@ +package com.zt.plat.module.base.service.materialhasclasses; + +import cn.hutool.core.collection.CollUtil; +import org.springframework.stereotype.Service; +import jakarta.annotation.Resource; +import org.springframework.validation.annotation.Validated; +import org.springframework.transaction.annotation.Transactional; + +import java.util.*; +import com.zt.plat.module.base.controller.admin.materialhasclasses.vo.*; +import com.zt.plat.module.base.dal.dataobject.materialhasclasses.MaterialHasClassesDO; +import com.zt.plat.framework.common.pojo.PageResult; +import com.zt.plat.framework.common.pojo.PageParam; +import com.zt.plat.framework.common.util.object.BeanUtils; + +import com.zt.plat.module.base.dal.dao.materialhasclasses.MaterialHasClassesMapper; + +import static com.zt.plat.framework.common.exception.util.ServiceExceptionUtil.exception; +import static com.zt.plat.framework.common.util.collection.CollectionUtils.convertList; +import static com.zt.plat.framework.common.util.collection.CollectionUtils.diffList; +import static com.zt.plat.module.base.enums.ErrorCodeConstants.*; + +/** + * 物料持有分类 Service 实现类 + * + * @author 后台管理-1 + */ +@Service +@Validated +public class MaterialHasClassesServiceImpl implements MaterialHasClassesService { + + @Resource + private MaterialHasClassesMapper materialHasClassesMapper; + + @Override + public MaterialHasClassesRespVO createMaterialHasClasses(MaterialHasClassesSaveReqVO createReqVO) { + // 插入 + MaterialHasClassesDO materialHasClasses = BeanUtils.toBean(createReqVO, MaterialHasClassesDO.class); + materialHasClassesMapper.insert(materialHasClasses); + // 返回 + return BeanUtils.toBean(materialHasClasses, MaterialHasClassesRespVO.class); + } + + @Override + public void updateMaterialHasClasses(MaterialHasClassesSaveReqVO updateReqVO) { + // 校验存在 + validateMaterialHasClassesExists(updateReqVO.getId()); + // 更新 + MaterialHasClassesDO updateObj = BeanUtils.toBean(updateReqVO, MaterialHasClassesDO.class); + materialHasClassesMapper.updateById(updateObj); + } + + @Override + public void deleteMaterialHasClasses(Long id) { + // 校验存在 + validateMaterialHasClassesExists(id); + // 删除 + materialHasClassesMapper.deleteById(id); + } + + @Override + public void deleteMaterialHasClassesListByIds(List ids) { + // 校验存在 + validateMaterialHasClassesExists(ids); + // 删除 + materialHasClassesMapper.deleteByIds(ids); + } + + private void validateMaterialHasClassesExists(List ids) { + List list = materialHasClassesMapper.selectByIds(ids); + if (CollUtil.isEmpty(list) || list.size() != ids.size()) { + throw exception(MATERIAL_HAS_CLASSES_NOT_EXISTS); + } + } + + private void validateMaterialHasClassesExists(Long id) { + if (materialHasClassesMapper.selectById(id) == null) { + throw exception(MATERIAL_HAS_CLASSES_NOT_EXISTS); + } + } + + @Override + public MaterialHasClassesDO getMaterialHasClasses(Long id) { + return materialHasClassesMapper.selectById(id); + } + + @Override + public PageResult getMaterialHasClassesPage(MaterialHasClassesPageReqVO pageReqVO) { + return materialHasClassesMapper.selectPage(pageReqVO); + } + +} \ No newline at end of file diff --git a/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/service/materialhasproperties/MaterialHasPropertiesService.java b/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/service/materialhasproperties/MaterialHasPropertiesService.java new file mode 100644 index 0000000..3e3d848 --- /dev/null +++ b/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/service/materialhasproperties/MaterialHasPropertiesService.java @@ -0,0 +1,62 @@ +package com.zt.plat.module.base.service.materialhasproperties; + +import java.util.*; +import jakarta.validation.*; +import com.zt.plat.module.base.controller.admin.materialhasproperties.vo.*; +import com.zt.plat.module.base.dal.dataobject.materialhasproperties.MaterialHasPropertiesDO; +import com.zt.plat.framework.common.pojo.PageResult; +import com.zt.plat.framework.common.pojo.PageParam; + +/** + * 物料持有属性 Service 接口 + * + * @author 后台管理-1 + */ +public interface MaterialHasPropertiesService { + + /** + * 创建物料持有属性 + * + * @param createReqVO 创建信息 + * @return 编号 + */ + MaterialHasPropertiesRespVO createMaterialHasProperties(@Valid MaterialHasPropertiesSaveReqVO createReqVO); + + /** + * 更新物料持有属性 + * + * @param updateReqVO 更新信息 + */ + void updateMaterialHasProperties(@Valid MaterialHasPropertiesSaveReqVO updateReqVO); + + /** + * 删除物料持有属性 + * + * @param id 编号 + */ + void deleteMaterialHasProperties(Long id); + + /** + * 批量删除物料持有属性 + * + * @param ids 编号 + */ + void deleteMaterialHasPropertiesListByIds(List ids); + + /** + * 获得物料持有属性 + * + * @param id 编号 + * @return 物料持有属性 + */ + MaterialHasPropertiesDO getMaterialHasProperties(Long id); + + /** + * 获得物料持有属性分页 + * + * @param pageReqVO 分页查询 + * @return 物料持有属性分页 + */ + PageResult getMaterialHasPropertiesPage(MaterialHasPropertiesPageReqVO pageReqVO); + +} \ No newline at end of file diff --git a/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/service/materialhasproperties/MaterialHasPropertiesServiceImpl.java b/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/service/materialhasproperties/MaterialHasPropertiesServiceImpl.java new file mode 100644 index 0000000..2559c26 --- /dev/null +++ b/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/service/materialhasproperties/MaterialHasPropertiesServiceImpl.java @@ -0,0 +1,92 @@ +package com.zt.plat.module.base.service.materialhasproperties; + +import cn.hutool.core.collection.CollUtil; +import org.springframework.stereotype.Service; +import jakarta.annotation.Resource; +import org.springframework.validation.annotation.Validated; +import org.springframework.transaction.annotation.Transactional; + +import java.util.*; +import com.zt.plat.module.base.controller.admin.materialhasproperties.vo.*; +import com.zt.plat.module.base.dal.dataobject.materialhasproperties.MaterialHasPropertiesDO; +import com.zt.plat.framework.common.pojo.PageResult; +import com.zt.plat.framework.common.pojo.PageParam; +import com.zt.plat.framework.common.util.object.BeanUtils; + +import com.zt.plat.module.base.dal.dao.materialhasproperties.MaterialHasPropertiesMapper; + +import static com.zt.plat.framework.common.exception.util.ServiceExceptionUtil.exception; +import static com.zt.plat.framework.common.util.collection.CollectionUtils.convertList; +import static com.zt.plat.framework.common.util.collection.CollectionUtils.diffList; +import static com.zt.plat.module.base.enums.ErrorCodeConstants.*; + +/** + * 物料持有属性 Service 实现类 + * + * @author 后台管理-1 + */ +@Service +@Validated +public class MaterialHasPropertiesServiceImpl implements MaterialHasPropertiesService { + + @Resource + private MaterialHasPropertiesMapper materialHasPropertiesMapper; + + @Override + public MaterialHasPropertiesRespVO createMaterialHasProperties(MaterialHasPropertiesSaveReqVO createReqVO) { + // 插入 + MaterialHasPropertiesDO materialHasProperties = BeanUtils.toBean(createReqVO, MaterialHasPropertiesDO.class); + materialHasPropertiesMapper.insert(materialHasProperties); + // 返回 + return BeanUtils.toBean(materialHasProperties, MaterialHasPropertiesRespVO.class); + } + + @Override + public void updateMaterialHasProperties(MaterialHasPropertiesSaveReqVO updateReqVO) { + // 校验存在 + validateMaterialHasPropertiesExists(updateReqVO.getId()); + // 更新 + MaterialHasPropertiesDO updateObj = BeanUtils.toBean(updateReqVO, MaterialHasPropertiesDO.class); + materialHasPropertiesMapper.updateById(updateObj); + } + + @Override + public void deleteMaterialHasProperties(Long id) { + // 校验存在 + validateMaterialHasPropertiesExists(id); + // 删除 + materialHasPropertiesMapper.deleteById(id); + } + + @Override + public void deleteMaterialHasPropertiesListByIds(List ids) { + // 校验存在 + validateMaterialHasPropertiesExists(ids); + // 删除 + materialHasPropertiesMapper.deleteByIds(ids); + } + + private void validateMaterialHasPropertiesExists(List ids) { + List list = materialHasPropertiesMapper.selectByIds(ids); + if (CollUtil.isEmpty(list) || list.size() != ids.size()) { + throw exception(MATERIAL_HAS_PROPERTIES_NOT_EXISTS); + } + } + + private void validateMaterialHasPropertiesExists(Long id) { + if (materialHasPropertiesMapper.selectById(id) == null) { + throw exception(MATERIAL_HAS_PROPERTIES_NOT_EXISTS); + } + } + + @Override + public MaterialHasPropertiesDO getMaterialHasProperties(Long id) { + return materialHasPropertiesMapper.selectById(id); + } + + @Override + public PageResult getMaterialHasPropertiesPage(MaterialHasPropertiesPageReqVO pageReqVO) { + return materialHasPropertiesMapper.selectPage(pageReqVO); + } + +} \ No newline at end of file diff --git a/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/service/materialproperties/MaterialPropertiesService.java b/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/service/materialproperties/MaterialPropertiesService.java new file mode 100644 index 0000000..a7acd93 --- /dev/null +++ b/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/service/materialproperties/MaterialPropertiesService.java @@ -0,0 +1,62 @@ +package com.zt.plat.module.base.service.materialproperties; + +import java.util.*; +import jakarta.validation.*; +import com.zt.plat.module.base.controller.admin.materialproperties.vo.*; +import com.zt.plat.module.base.dal.dataobject.materialproperties.MaterialPropertiesDO; +import com.zt.plat.framework.common.pojo.PageResult; +import com.zt.plat.framework.common.pojo.PageParam; + +/** + * 物料属性 Service 接口 + * + * @author 后台管理-1 + */ +public interface MaterialPropertiesService { + + /** + * 创建物料属性 + * + * @param createReqVO 创建信息 + * @return 编号 + */ + MaterialPropertiesRespVO createMaterialProperties(@Valid MaterialPropertiesSaveReqVO createReqVO); + + /** + * 更新物料属性 + * + * @param updateReqVO 更新信息 + */ + void updateMaterialProperties(@Valid MaterialPropertiesSaveReqVO updateReqVO); + + /** + * 删除物料属性 + * + * @param id 编号 + */ + void deleteMaterialProperties(Long id); + + /** + * 批量删除物料属性 + * + * @param ids 编号 + */ + void deleteMaterialPropertiesListByIds(List ids); + + /** + * 获得物料属性 + * + * @param id 编号 + * @return 物料属性 + */ + MaterialPropertiesDO getMaterialProperties(Long id); + + /** + * 获得物料属性分页 + * + * @param pageReqVO 分页查询 + * @return 物料属性分页 + */ + PageResult getMaterialPropertiesPage(MaterialPropertiesPageReqVO pageReqVO); + +} \ No newline at end of file diff --git a/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/service/materialproperties/MaterialPropertiesServiceImpl.java b/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/service/materialproperties/MaterialPropertiesServiceImpl.java new file mode 100644 index 0000000..e1cde70 --- /dev/null +++ b/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/service/materialproperties/MaterialPropertiesServiceImpl.java @@ -0,0 +1,92 @@ +package com.zt.plat.module.base.service.materialproperties; + +import cn.hutool.core.collection.CollUtil; +import org.springframework.stereotype.Service; +import jakarta.annotation.Resource; +import org.springframework.validation.annotation.Validated; +import org.springframework.transaction.annotation.Transactional; + +import java.util.*; +import com.zt.plat.module.base.controller.admin.materialproperties.vo.*; +import com.zt.plat.module.base.dal.dataobject.materialproperties.MaterialPropertiesDO; +import com.zt.plat.framework.common.pojo.PageResult; +import com.zt.plat.framework.common.pojo.PageParam; +import com.zt.plat.framework.common.util.object.BeanUtils; + +import com.zt.plat.module.base.dal.dao.materialproperties.MaterialPropertiesMapper; + +import static com.zt.plat.framework.common.exception.util.ServiceExceptionUtil.exception; +import static com.zt.plat.framework.common.util.collection.CollectionUtils.convertList; +import static com.zt.plat.framework.common.util.collection.CollectionUtils.diffList; +import static com.zt.plat.module.base.enums.ErrorCodeConstants.*; + +/** + * 物料属性 Service 实现类 + * + * @author 后台管理-1 + */ +@Service +@Validated +public class MaterialPropertiesServiceImpl implements MaterialPropertiesService { + + @Resource + private MaterialPropertiesMapper materialPropertiesMapper; + + @Override + public MaterialPropertiesRespVO createMaterialProperties(MaterialPropertiesSaveReqVO createReqVO) { + // 插入 + MaterialPropertiesDO materialProperties = BeanUtils.toBean(createReqVO, MaterialPropertiesDO.class); + materialPropertiesMapper.insert(materialProperties); + // 返回 + return BeanUtils.toBean(materialProperties, MaterialPropertiesRespVO.class); + } + + @Override + public void updateMaterialProperties(MaterialPropertiesSaveReqVO updateReqVO) { + // 校验存在 + validateMaterialPropertiesExists(updateReqVO.getId()); + // 更新 + MaterialPropertiesDO updateObj = BeanUtils.toBean(updateReqVO, MaterialPropertiesDO.class); + materialPropertiesMapper.updateById(updateObj); + } + + @Override + public void deleteMaterialProperties(Long id) { + // 校验存在 + validateMaterialPropertiesExists(id); + // 删除 + materialPropertiesMapper.deleteById(id); + } + + @Override + public void deleteMaterialPropertiesListByIds(List ids) { + // 校验存在 + validateMaterialPropertiesExists(ids); + // 删除 + materialPropertiesMapper.deleteByIds(ids); + } + + private void validateMaterialPropertiesExists(List ids) { + List list = materialPropertiesMapper.selectByIds(ids); + if (CollUtil.isEmpty(list) || list.size() != ids.size()) { + throw exception(MATERIAL_PROPERTIES_NOT_EXISTS); + } + } + + private void validateMaterialPropertiesExists(Long id) { + if (materialPropertiesMapper.selectById(id) == null) { + throw exception(MATERIAL_PROPERTIES_NOT_EXISTS); + } + } + + @Override + public MaterialPropertiesDO getMaterialProperties(Long id) { + return materialPropertiesMapper.selectById(id); + } + + @Override + public PageResult getMaterialPropertiesPage(MaterialPropertiesPageReqVO pageReqVO) { + return materialPropertiesMapper.selectPage(pageReqVO); + } + +} \ No newline at end of file diff --git a/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/service/processinginfomation/ProcessingInfomationService.java b/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/service/processinginfomation/ProcessingInfomationService.java new file mode 100644 index 0000000..c55db41 --- /dev/null +++ b/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/service/processinginfomation/ProcessingInfomationService.java @@ -0,0 +1,69 @@ +package com.zt.plat.module.base.service.processinginfomation; + +import java.util.*; +import jakarta.validation.*; +import com.zt.plat.module.base.controller.admin.processinginfomation.vo.*; +import com.zt.plat.module.base.dal.dataobject.processinginfomation.ProcessingInfomationDO; +import com.zt.plat.framework.common.pojo.PageResult; +import com.zt.plat.framework.common.pojo.PageParam; + +/** + * 工艺信息 Service 接口 + * + * @author 后台管理-1 + */ +public interface ProcessingInfomationService { + + /** + * 创建工艺信息 + * + * @param createReqVO 创建信息 + * @return 编号 + */ + ProcessingInfomationRespVO createProcessingInfomation(@Valid ProcessingInfomationSaveReqVO createReqVO); + + /** + * 更新工艺信息 + * + * @param updateReqVO 更新信息 + */ + void updateProcessingInfomation(@Valid ProcessingInfomationSaveReqVO updateReqVO); + + /** + * 删除工艺信息 + * + * @param id 编号 + */ + void deleteProcessingInfomation(Long id); + + /** + * 批量删除工艺信息 + * + * @param ids 编号 + */ + void deleteProcessingInfomationListByIds(List ids); + + /** + * 获得工艺信息 + * + * @param id 编号 + * @return 工艺信息 + */ + ProcessingInfomationDO getProcessingInfomation(Long id); + + /** + * 获得工艺信息分页 + * + * @param pageReqVO 分页查询 + * @return 工艺信息分页 + */ + PageResult getProcessingInfomationPage(ProcessingInfomationPageReqVO pageReqVO); + + /** + * 获得全部工艺信息 + * + * @return 工艺信息列表 + */ + List getProcessingInfomationList(); + +} \ No newline at end of file diff --git a/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/service/processinginfomation/ProcessingInfomationServiceImpl.java b/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/service/processinginfomation/ProcessingInfomationServiceImpl.java new file mode 100644 index 0000000..68d4575 --- /dev/null +++ b/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/service/processinginfomation/ProcessingInfomationServiceImpl.java @@ -0,0 +1,97 @@ +package com.zt.plat.module.base.service.processinginfomation; + +import cn.hutool.core.collection.CollUtil; +import org.springframework.stereotype.Service; +import jakarta.annotation.Resource; +import org.springframework.validation.annotation.Validated; +import org.springframework.transaction.annotation.Transactional; + +import java.util.*; +import com.zt.plat.module.base.controller.admin.processinginfomation.vo.*; +import com.zt.plat.module.base.dal.dataobject.processinginfomation.ProcessingInfomationDO; +import com.zt.plat.framework.common.pojo.PageResult; +import com.zt.plat.framework.common.pojo.PageParam; +import com.zt.plat.framework.common.util.object.BeanUtils; + +import com.zt.plat.module.base.dal.dao.processinginfomation.ProcessingInfomationMapper; + +import static com.zt.plat.framework.common.exception.util.ServiceExceptionUtil.exception; +import static com.zt.plat.framework.common.util.collection.CollectionUtils.convertList; +import static com.zt.plat.framework.common.util.collection.CollectionUtils.diffList; +import static com.zt.plat.module.base.enums.ErrorCodeConstants.*; + +/** + * 工艺信息 Service 实现类 + * + * @author 后台管理-1 + */ +@Service +@Validated +public class ProcessingInfomationServiceImpl implements ProcessingInfomationService { + + @Resource + private ProcessingInfomationMapper processingInfomationMapper; + + @Override + public ProcessingInfomationRespVO createProcessingInfomation(ProcessingInfomationSaveReqVO createReqVO) { + // 插入 + ProcessingInfomationDO processingInfomation = BeanUtils.toBean(createReqVO, ProcessingInfomationDO.class); + processingInfomationMapper.insert(processingInfomation); + // 返回 + return BeanUtils.toBean(processingInfomation, ProcessingInfomationRespVO.class); + } + + @Override + public void updateProcessingInfomation(ProcessingInfomationSaveReqVO updateReqVO) { + // 校验存在 + validateProcessingInfomationExists(updateReqVO.getId()); + // 更新 + ProcessingInfomationDO updateObj = BeanUtils.toBean(updateReqVO, ProcessingInfomationDO.class); + processingInfomationMapper.updateById(updateObj); + } + + @Override + public void deleteProcessingInfomation(Long id) { + // 校验存在 + validateProcessingInfomationExists(id); + // 删除 + processingInfomationMapper.deleteById(id); + } + + @Override + public void deleteProcessingInfomationListByIds(List ids) { + // 校验存在 + validateProcessingInfomationExists(ids); + // 删除 + processingInfomationMapper.deleteByIds(ids); + } + + private void validateProcessingInfomationExists(List ids) { + List list = processingInfomationMapper.selectByIds(ids); + if (CollUtil.isEmpty(list) || list.size() != ids.size()) { + throw exception(PROCESSING_INFOMATION_NOT_EXISTS); + } + } + + private void validateProcessingInfomationExists(Long id) { + if (processingInfomationMapper.selectById(id) == null) { + throw exception(PROCESSING_INFOMATION_NOT_EXISTS); + } + } + + @Override + public ProcessingInfomationDO getProcessingInfomation(Long id) { + return processingInfomationMapper.selectById(id); + } + + @Override + public PageResult getProcessingInfomationPage(ProcessingInfomationPageReqVO pageReqVO) { + return processingInfomationMapper.selectPage(pageReqVO); + } + + @Override + public List getProcessingInfomationList() { + return processingInfomationMapper.selectList(); + } + +} \ No newline at end of file diff --git a/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/service/processinginfomationoperation/ProcessingInfomationOperationService.java b/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/service/processinginfomationoperation/ProcessingInfomationOperationService.java new file mode 100644 index 0000000..75fa2a7 --- /dev/null +++ b/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/service/processinginfomationoperation/ProcessingInfomationOperationService.java @@ -0,0 +1,78 @@ +package com.zt.plat.module.base.service.processinginfomationoperation; + +import java.util.*; +import jakarta.validation.*; +import com.zt.plat.module.base.controller.admin.processinginfomationoperation.vo.*; +import com.zt.plat.module.base.dal.dataobject.processinginfomationoperation.ProcessingInfomationOperationDO; +import com.zt.plat.framework.common.pojo.PageResult; +import com.zt.plat.framework.common.pojo.PageParam; + +/** + * 工艺工序 Service 接口 + * + * @author 后台管理-1 + */ +public interface ProcessingInfomationOperationService { + + /** + * 创建工艺工序 + * + * @param createReqVO 创建信息 + * @return 编号 + */ + ProcessingInfomationOperationRespVO createProcessingInfomationOperation(@Valid ProcessingInfomationOperationSaveReqVO createReqVO); + + /** + * 更新工艺工序 + * + * @param updateReqVO 更新信息 + */ + void updateProcessingInfomationOperation(@Valid ProcessingInfomationOperationSaveReqVO updateReqVO); + + /** + * 删除工艺工序 + * + * @param id 编号 + */ + void deleteProcessingInfomationOperation(Long id); + + /** + * 批量删除工艺工序 + * + * @param ids 编号 + */ + void deleteProcessingInfomationOperationListByIds(List ids); + + /** + * 获得工艺工序 + * + * @param id 编号 + * @return 工艺工序 + */ + ProcessingInfomationOperationDO getProcessingInfomationOperation(Long id); + + /** + * 获得工艺工序分页 + * + * @param pageReqVO 分页查询 + * @return 工艺工序分页 + */ + PageResult getProcessingInfomationOperationPage(ProcessingInfomationOperationPageReqVO pageReqVO); + + /** + * 获得工艺工序明细分页 + * + * @param pageReqVO 分页查询 + * @return 工艺工序分页数据(携带工序信息) + */ + PageResult getProcessingInfomationOperationDetailPage(ProcessingInfomationOperationPageReqVO pageReqVO); + + /** + * 获得工艺工序明细列表 + * + * @param pageReqVO 查询条件 + * @return 工艺工序列表(携带工序信息) + */ + List getProcessingInfomationOperationDetailList(ProcessingInfomationOperationPageReqVO pageReqVO); + +} \ No newline at end of file diff --git a/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/service/processinginfomationoperation/ProcessingInfomationOperationServiceImpl.java b/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/service/processinginfomationoperation/ProcessingInfomationOperationServiceImpl.java new file mode 100644 index 0000000..1beddb6 --- /dev/null +++ b/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/service/processinginfomationoperation/ProcessingInfomationOperationServiceImpl.java @@ -0,0 +1,182 @@ +package com.zt.plat.module.base.service.processinginfomationoperation; + +import cn.hutool.core.collection.CollUtil; +import cn.hutool.core.util.StrUtil; +import org.springframework.stereotype.Service; +import jakarta.annotation.Resource; +import org.springframework.validation.annotation.Validated; +import org.springframework.transaction.annotation.Transactional; + +import java.util.*; +import java.util.function.Function; +import java.util.stream.Collectors; +import java.util.stream.Stream; +import com.zt.plat.module.base.controller.admin.processinginfomationoperation.vo.*; +import com.zt.plat.module.base.dal.dataobject.processinginfomationoperation.ProcessingInfomationOperationDO; +import com.zt.plat.module.base.dal.dao.processingoperation.ProcessingOperationMapper; +import com.zt.plat.module.base.dal.dataobject.processingoperation.ProcessingOperationDO; +import com.zt.plat.framework.common.pojo.PageResult; +import com.zt.plat.framework.common.pojo.PageParam; +import com.zt.plat.framework.common.util.object.BeanUtils; + +import com.zt.plat.module.base.dal.dao.processinginfomationoperation.ProcessingInfomationOperationMapper; + +import static com.zt.plat.framework.common.exception.util.ServiceExceptionUtil.exception; +import static com.zt.plat.framework.common.util.collection.CollectionUtils.convertList; +import static com.zt.plat.framework.common.util.collection.CollectionUtils.diffList; +import static com.zt.plat.module.base.enums.ErrorCodeConstants.*; + +/** + * 工艺工序 Service 实现类 + * + * @author 后台管理-1 + */ +@Service +@Validated +public class ProcessingInfomationOperationServiceImpl implements ProcessingInfomationOperationService { + + @Resource + private ProcessingInfomationOperationMapper processingInfomationOperationMapper; + @Resource + private ProcessingOperationMapper processingOperationMapper; + + @Override + public ProcessingInfomationOperationRespVO createProcessingInfomationOperation(ProcessingInfomationOperationSaveReqVO createReqVO) { + // 插入 + ProcessingInfomationOperationDO processingInfomationOperation = BeanUtils.toBean(createReqVO, ProcessingInfomationOperationDO.class); + processingInfomationOperationMapper.insert(processingInfomationOperation); + // 返回 + return BeanUtils.toBean(processingInfomationOperation, ProcessingInfomationOperationRespVO.class); + } + + @Override + public void updateProcessingInfomationOperation(ProcessingInfomationOperationSaveReqVO updateReqVO) { + // 校验存在 + validateProcessingInfomationOperationExists(updateReqVO.getId()); + // 更新 + ProcessingInfomationOperationDO updateObj = BeanUtils.toBean(updateReqVO, ProcessingInfomationOperationDO.class); + processingInfomationOperationMapper.updateById(updateObj); + } + + @Override + public void deleteProcessingInfomationOperation(Long id) { + // 校验存在 + validateProcessingInfomationOperationExists(id); + // 删除 + processingInfomationOperationMapper.deleteById(id); + } + + @Override + public void deleteProcessingInfomationOperationListByIds(List ids) { + // 校验存在 + validateProcessingInfomationOperationExists(ids); + // 删除 + processingInfomationOperationMapper.deleteByIds(ids); + } + + private void validateProcessingInfomationOperationExists(List ids) { + List list = processingInfomationOperationMapper.selectByIds(ids); + if (CollUtil.isEmpty(list) || list.size() != ids.size()) { + throw exception(PROCESSING_INFOMATION_OPERATION_NOT_EXISTS); + } + } + + private void validateProcessingInfomationOperationExists(Long id) { + if (processingInfomationOperationMapper.selectById(id) == null) { + throw exception(PROCESSING_INFOMATION_OPERATION_NOT_EXISTS); + } + } + + @Override + public ProcessingInfomationOperationDO getProcessingInfomationOperation(Long id) { + return processingInfomationOperationMapper.selectById(id); + } + + @Override + public PageResult getProcessingInfomationOperationPage(ProcessingInfomationOperationPageReqVO pageReqVO) { + return processingInfomationOperationMapper.selectPage(pageReqVO); + } + + @Override + public PageResult getProcessingInfomationOperationDetailPage(ProcessingInfomationOperationPageReqVO pageReqVO) { + List detailList = buildDetailList(pageReqVO); + int total = detailList.size(); + if (total == 0) { + return new PageResult<>(Collections.emptyList(), 0L); + } + Integer pageSize = pageReqVO.getPageSize(); + if (pageSize != null && pageSize <= 0) { + return new PageResult<>(detailList, (long) total); + } + int pageNo = pageReqVO.getPageNo() == null ? 1 : pageReqVO.getPageNo(); + int size = (pageSize == null || pageSize <= 0) ? total : pageSize; + int fromIndex = Math.max((pageNo - 1) * size, 0); + if (fromIndex >= total) { + return new PageResult<>(Collections.emptyList(), (long) total); + } + int toIndex = Math.min(fromIndex + size, total); + return new PageResult<>(detailList.subList(fromIndex, toIndex), (long) total); + } + + @Override + public List getProcessingInfomationOperationDetailList(ProcessingInfomationOperationPageReqVO pageReqVO) { + return buildDetailList(pageReqVO); + } + + private List buildDetailList(ProcessingInfomationOperationPageReqVO pageReqVO) { + List relations = processingInfomationOperationMapper.selectList(pageReqVO); + if (CollUtil.isEmpty(relations)) { + return Collections.emptyList(); + } + Set operationIds = relations.stream() + .flatMap(item -> Stream.of(item.getPreviousOperationId(), item.getNextOperationId())) + .filter(Objects::nonNull) + .collect(Collectors.toSet()); + Map operationMap; + if (operationIds.isEmpty()) { + operationMap = Collections.emptyMap(); + } else { + List operations = processingOperationMapper.selectBatchIds(operationIds); + if (CollUtil.isEmpty(operations)) { + operationMap = Collections.emptyMap(); + } else { + operationMap = operations.stream() + .filter(Objects::nonNull) + .collect(Collectors.toMap(ProcessingOperationDO::getId, Function.identity(), (v1, v2) -> v1)); + } + } + List detailList = relations.stream() + .map(item -> convertToResp(item, operationMap)) + .collect(Collectors.toList()); + String nextCode = pageReqVO.getNextOperationCode(); + if (StrUtil.isNotBlank(nextCode)) { + detailList = detailList.stream() + .filter(item -> StrUtil.containsIgnoreCase(item.getNextOperationCode(), nextCode)) + .collect(Collectors.toList()); + } + String nextName = pageReqVO.getNextOperationName(); + if (StrUtil.isNotBlank(nextName)) { + detailList = detailList.stream() + .filter(item -> StrUtil.containsIgnoreCase(item.getNextOperationName(), nextName)) + .collect(Collectors.toList()); + } + return detailList; + } + + private ProcessingInfomationOperationRespVO convertToResp(ProcessingInfomationOperationDO relation, + Map operationMap) { + ProcessingInfomationOperationRespVO resp = BeanUtils.toBean(relation, ProcessingInfomationOperationRespVO.class); + ProcessingOperationDO previous = operationMap.get(relation.getPreviousOperationId()); + if (previous != null) { + resp.setPreviousOperationCode(previous.getCode()); + resp.setPreviousOperationName(previous.getName()); + } + ProcessingOperationDO next = operationMap.get(relation.getNextOperationId()); + if (next != null) { + resp.setNextOperationCode(next.getCode()); + resp.setNextOperationName(next.getName()); + } + return resp; + } + +} \ No newline at end of file diff --git a/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/service/processingoperation/ProcessingOperationService.java b/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/service/processingoperation/ProcessingOperationService.java new file mode 100644 index 0000000..401bc35 --- /dev/null +++ b/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/service/processingoperation/ProcessingOperationService.java @@ -0,0 +1,69 @@ +package com.zt.plat.module.base.service.processingoperation; + +import java.util.*; +import jakarta.validation.*; +import com.zt.plat.module.base.controller.admin.processingoperation.vo.*; +import com.zt.plat.module.base.dal.dataobject.processingoperation.ProcessingOperationDO; +import com.zt.plat.framework.common.pojo.PageResult; +import com.zt.plat.framework.common.pojo.PageParam; + +/** + * 工序 Service 接口 + * + * @author 后台管理-1 + */ +public interface ProcessingOperationService { + + /** + * 创建工序 + * + * @param createReqVO 创建信息 + * @return 编号 + */ + ProcessingOperationRespVO createProcessingOperation(@Valid ProcessingOperationSaveReqVO createReqVO); + + /** + * 更新工序 + * + * @param updateReqVO 更新信息 + */ + void updateProcessingOperation(@Valid ProcessingOperationSaveReqVO updateReqVO); + + /** + * 删除工序 + * + * @param id 编号 + */ + void deleteProcessingOperation(Long id); + + /** + * 批量删除工序 + * + * @param ids 编号 + */ + void deleteProcessingOperationListByIds(List ids); + + /** + * 获得工序 + * + * @param id 编号 + * @return 工序 + */ + ProcessingOperationDO getProcessingOperation(Long id); + + /** + * 获得工序分页 + * + * @param pageReqVO 分页查询 + * @return 工序分页 + */ + PageResult getProcessingOperationPage(ProcessingOperationPageReqVO pageReqVO); + + /** + * 获得全部工序 + * + * @return 工序列表 + */ + List getProcessingOperationList(); + +} \ No newline at end of file diff --git a/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/service/processingoperation/ProcessingOperationServiceImpl.java b/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/service/processingoperation/ProcessingOperationServiceImpl.java new file mode 100644 index 0000000..536da7b --- /dev/null +++ b/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/service/processingoperation/ProcessingOperationServiceImpl.java @@ -0,0 +1,97 @@ +package com.zt.plat.module.base.service.processingoperation; + +import cn.hutool.core.collection.CollUtil; +import org.springframework.stereotype.Service; +import jakarta.annotation.Resource; +import org.springframework.validation.annotation.Validated; +import org.springframework.transaction.annotation.Transactional; + +import java.util.*; +import com.zt.plat.module.base.controller.admin.processingoperation.vo.*; +import com.zt.plat.module.base.dal.dataobject.processingoperation.ProcessingOperationDO; +import com.zt.plat.framework.common.pojo.PageResult; +import com.zt.plat.framework.common.pojo.PageParam; +import com.zt.plat.framework.common.util.object.BeanUtils; + +import com.zt.plat.module.base.dal.dao.processingoperation.ProcessingOperationMapper; + +import static com.zt.plat.framework.common.exception.util.ServiceExceptionUtil.exception; +import static com.zt.plat.framework.common.util.collection.CollectionUtils.convertList; +import static com.zt.plat.framework.common.util.collection.CollectionUtils.diffList; +import static com.zt.plat.module.base.enums.ErrorCodeConstants.*; + +/** + * 工序 Service 实现类 + * + * @author 后台管理-1 + */ +@Service +@Validated +public class ProcessingOperationServiceImpl implements ProcessingOperationService { + + @Resource + private ProcessingOperationMapper processingOperationMapper; + + @Override + public ProcessingOperationRespVO createProcessingOperation(ProcessingOperationSaveReqVO createReqVO) { + // 插入 + ProcessingOperationDO processingOperation = BeanUtils.toBean(createReqVO, ProcessingOperationDO.class); + processingOperationMapper.insert(processingOperation); + // 返回 + return BeanUtils.toBean(processingOperation, ProcessingOperationRespVO.class); + } + + @Override + public void updateProcessingOperation(ProcessingOperationSaveReqVO updateReqVO) { + // 校验存在 + validateProcessingOperationExists(updateReqVO.getId()); + // 更新 + ProcessingOperationDO updateObj = BeanUtils.toBean(updateReqVO, ProcessingOperationDO.class); + processingOperationMapper.updateById(updateObj); + } + + @Override + public void deleteProcessingOperation(Long id) { + // 校验存在 + validateProcessingOperationExists(id); + // 删除 + processingOperationMapper.deleteById(id); + } + + @Override + public void deleteProcessingOperationListByIds(List ids) { + // 校验存在 + validateProcessingOperationExists(ids); + // 删除 + processingOperationMapper.deleteByIds(ids); + } + + private void validateProcessingOperationExists(List ids) { + List list = processingOperationMapper.selectByIds(ids); + if (CollUtil.isEmpty(list) || list.size() != ids.size()) { + throw exception(PROCESSING_OPERATION_NOT_EXISTS); + } + } + + private void validateProcessingOperationExists(Long id) { + if (processingOperationMapper.selectById(id) == null) { + throw exception(PROCESSING_OPERATION_NOT_EXISTS); + } + } + + @Override + public ProcessingOperationDO getProcessingOperation(Long id) { + return processingOperationMapper.selectById(id); + } + + @Override + public PageResult getProcessingOperationPage(ProcessingOperationPageReqVO pageReqVO) { + return processingOperationMapper.selectPage(pageReqVO); + } + + @Override + public List getProcessingOperationList() { + return processingOperationMapper.selectList(); + } + +} \ No newline at end of file diff --git a/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/service/processingoperationmaterial/ProcessingOperationMaterialService.java b/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/service/processingoperationmaterial/ProcessingOperationMaterialService.java new file mode 100644 index 0000000..6f7aae4 --- /dev/null +++ b/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/service/processingoperationmaterial/ProcessingOperationMaterialService.java @@ -0,0 +1,62 @@ +package com.zt.plat.module.base.service.processingoperationmaterial; + +import java.util.*; +import jakarta.validation.*; +import com.zt.plat.module.base.controller.admin.processingoperationmaterial.vo.*; +import com.zt.plat.module.base.dal.dataobject.processingoperationmaterial.ProcessingOperationMaterialDO; +import com.zt.plat.framework.common.pojo.PageResult; +import com.zt.plat.framework.common.pojo.PageParam; + +/** + * 工艺工序物料 Service 接口 + * + * @author 后台管理-1 + */ +public interface ProcessingOperationMaterialService { + + /** + * 创建工艺工序物料 + * + * @param createReqVO 创建信息 + * @return 编号 + */ + ProcessingOperationMaterialRespVO createProcessingOperationMaterial(@Valid ProcessingOperationMaterialSaveReqVO createReqVO); + + /** + * 更新工艺工序物料 + * + * @param updateReqVO 更新信息 + */ + void updateProcessingOperationMaterial(@Valid ProcessingOperationMaterialSaveReqVO updateReqVO); + + /** + * 删除工艺工序物料 + * + * @param id 编号 + */ + void deleteProcessingOperationMaterial(Long id); + + /** + * 批量删除工艺工序物料 + * + * @param ids 编号 + */ + void deleteProcessingOperationMaterialListByIds(List ids); + + /** + * 获得工艺工序物料 + * + * @param id 编号 + * @return 工艺工序物料 + */ + ProcessingOperationMaterialDO getProcessingOperationMaterial(Long id); + + /** + * 获得工艺工序物料分页 + * + * @param pageReqVO 分页查询 + * @return 工艺工序物料分页 + */ + PageResult getProcessingOperationMaterialPage(ProcessingOperationMaterialPageReqVO pageReqVO); + +} \ No newline at end of file diff --git a/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/service/processingoperationmaterial/ProcessingOperationMaterialServiceImpl.java b/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/service/processingoperationmaterial/ProcessingOperationMaterialServiceImpl.java new file mode 100644 index 0000000..17960ea --- /dev/null +++ b/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/service/processingoperationmaterial/ProcessingOperationMaterialServiceImpl.java @@ -0,0 +1,92 @@ +package com.zt.plat.module.base.service.processingoperationmaterial; + +import cn.hutool.core.collection.CollUtil; +import org.springframework.stereotype.Service; +import jakarta.annotation.Resource; +import org.springframework.validation.annotation.Validated; +import org.springframework.transaction.annotation.Transactional; + +import java.util.*; +import com.zt.plat.module.base.controller.admin.processingoperationmaterial.vo.*; +import com.zt.plat.module.base.dal.dataobject.processingoperationmaterial.ProcessingOperationMaterialDO; +import com.zt.plat.framework.common.pojo.PageResult; +import com.zt.plat.framework.common.pojo.PageParam; +import com.zt.plat.framework.common.util.object.BeanUtils; + +import com.zt.plat.module.base.dal.dao.processingoperationmaterial.ProcessingOperationMaterialMapper; + +import static com.zt.plat.framework.common.exception.util.ServiceExceptionUtil.exception; +import static com.zt.plat.framework.common.util.collection.CollectionUtils.convertList; +import static com.zt.plat.framework.common.util.collection.CollectionUtils.diffList; +import static com.zt.plat.module.base.enums.ErrorCodeConstants.*; + +/** + * 工艺工序物料 Service 实现类 + * + * @author 后台管理-1 + */ +@Service +@Validated +public class ProcessingOperationMaterialServiceImpl implements ProcessingOperationMaterialService { + + @Resource + private ProcessingOperationMaterialMapper processingOperationMaterialMapper; + + @Override + public ProcessingOperationMaterialRespVO createProcessingOperationMaterial(ProcessingOperationMaterialSaveReqVO createReqVO) { + // 插入 + ProcessingOperationMaterialDO processingOperationMaterial = BeanUtils.toBean(createReqVO, ProcessingOperationMaterialDO.class); + processingOperationMaterialMapper.insert(processingOperationMaterial); + // 返回 + return BeanUtils.toBean(processingOperationMaterial, ProcessingOperationMaterialRespVO.class); + } + + @Override + public void updateProcessingOperationMaterial(ProcessingOperationMaterialSaveReqVO updateReqVO) { + // 校验存在 + validateProcessingOperationMaterialExists(updateReqVO.getId()); + // 更新 + ProcessingOperationMaterialDO updateObj = BeanUtils.toBean(updateReqVO, ProcessingOperationMaterialDO.class); + processingOperationMaterialMapper.updateById(updateObj); + } + + @Override + public void deleteProcessingOperationMaterial(Long id) { + // 校验存在 + validateProcessingOperationMaterialExists(id); + // 删除 + processingOperationMaterialMapper.deleteById(id); + } + + @Override + public void deleteProcessingOperationMaterialListByIds(List ids) { + // 校验存在 + validateProcessingOperationMaterialExists(ids); + // 删除 + processingOperationMaterialMapper.deleteByIds(ids); + } + + private void validateProcessingOperationMaterialExists(List ids) { + List list = processingOperationMaterialMapper.selectByIds(ids); + if (CollUtil.isEmpty(list) || list.size() != ids.size()) { + throw exception(PROCESSING_OPERATION_MATERIAL_NOT_EXISTS); + } + } + + private void validateProcessingOperationMaterialExists(Long id) { + if (processingOperationMaterialMapper.selectById(id) == null) { + throw exception(PROCESSING_OPERATION_MATERIAL_NOT_EXISTS); + } + } + + @Override + public ProcessingOperationMaterialDO getProcessingOperationMaterial(Long id) { + return processingOperationMaterialMapper.selectById(id); + } + + @Override + public PageResult getProcessingOperationMaterialPage(ProcessingOperationMaterialPageReqVO pageReqVO) { + return processingOperationMaterialMapper.selectPage(pageReqVO); + } + +} \ No newline at end of file diff --git a/zt-module-base/zt-module-base-server/src/main/resources/mapper/departmentmaterial/DepartmentMaterialMapper.xml b/zt-module-base/zt-module-base-server/src/main/resources/mapper/departmentmaterial/DepartmentMaterialMapper.xml new file mode 100644 index 0000000..cd7e17f --- /dev/null +++ b/zt-module-base/zt-module-base-server/src/main/resources/mapper/departmentmaterial/DepartmentMaterialMapper.xml @@ -0,0 +1,12 @@ + + + + + + + \ No newline at end of file diff --git a/zt-module-base/zt-module-base-server/src/main/resources/mapper/materialclasses/MaterialClassesMapper.xml b/zt-module-base/zt-module-base-server/src/main/resources/mapper/materialclasses/MaterialClassesMapper.xml new file mode 100644 index 0000000..1567f9a --- /dev/null +++ b/zt-module-base/zt-module-base-server/src/main/resources/mapper/materialclasses/MaterialClassesMapper.xml @@ -0,0 +1,12 @@ + + + + + + + \ No newline at end of file diff --git a/zt-module-base/zt-module-base-server/src/main/resources/mapper/materialhasclasses/MaterialHasClassesMapper.xml b/zt-module-base/zt-module-base-server/src/main/resources/mapper/materialhasclasses/MaterialHasClassesMapper.xml new file mode 100644 index 0000000..dc7f466 --- /dev/null +++ b/zt-module-base/zt-module-base-server/src/main/resources/mapper/materialhasclasses/MaterialHasClassesMapper.xml @@ -0,0 +1,12 @@ + + + + + + + \ No newline at end of file diff --git a/zt-module-base/zt-module-base-server/src/main/resources/mapper/materialhasproperties/MaterialHasPropertiesMapper.xml b/zt-module-base/zt-module-base-server/src/main/resources/mapper/materialhasproperties/MaterialHasPropertiesMapper.xml new file mode 100644 index 0000000..34df4f1 --- /dev/null +++ b/zt-module-base/zt-module-base-server/src/main/resources/mapper/materialhasproperties/MaterialHasPropertiesMapper.xml @@ -0,0 +1,12 @@ + + + + + + + \ No newline at end of file diff --git a/zt-module-base/zt-module-base-server/src/main/resources/mapper/materialproperties/MaterialPropertiesMapper.xml b/zt-module-base/zt-module-base-server/src/main/resources/mapper/materialproperties/MaterialPropertiesMapper.xml new file mode 100644 index 0000000..0c323f5 --- /dev/null +++ b/zt-module-base/zt-module-base-server/src/main/resources/mapper/materialproperties/MaterialPropertiesMapper.xml @@ -0,0 +1,12 @@ + + + + + + + \ No newline at end of file diff --git a/zt-module-base/zt-module-base-server/src/main/resources/mapper/processinginfomation/ProcessingInfomationMapper.xml b/zt-module-base/zt-module-base-server/src/main/resources/mapper/processinginfomation/ProcessingInfomationMapper.xml new file mode 100644 index 0000000..bc6a4f1 --- /dev/null +++ b/zt-module-base/zt-module-base-server/src/main/resources/mapper/processinginfomation/ProcessingInfomationMapper.xml @@ -0,0 +1,12 @@ + + + + + + + \ No newline at end of file diff --git a/zt-module-base/zt-module-base-server/src/main/resources/mapper/processinginfomationoperation/ProcessingInfomationOperationMapper.xml b/zt-module-base/zt-module-base-server/src/main/resources/mapper/processinginfomationoperation/ProcessingInfomationOperationMapper.xml new file mode 100644 index 0000000..be450c0 --- /dev/null +++ b/zt-module-base/zt-module-base-server/src/main/resources/mapper/processinginfomationoperation/ProcessingInfomationOperationMapper.xml @@ -0,0 +1,12 @@ + + + + + + + \ No newline at end of file diff --git a/zt-module-base/zt-module-base-server/src/main/resources/mapper/processingoperation/ProcessingOperationMapper.xml b/zt-module-base/zt-module-base-server/src/main/resources/mapper/processingoperation/ProcessingOperationMapper.xml new file mode 100644 index 0000000..9b54843 --- /dev/null +++ b/zt-module-base/zt-module-base-server/src/main/resources/mapper/processingoperation/ProcessingOperationMapper.xml @@ -0,0 +1,12 @@ + + + + + + + \ No newline at end of file diff --git a/zt-module-base/zt-module-base-server/src/main/resources/mapper/processingoperationmaterial/ProcessingOperationMaterialMapper.xml b/zt-module-base/zt-module-base-server/src/main/resources/mapper/processingoperationmaterial/ProcessingOperationMaterialMapper.xml new file mode 100644 index 0000000..d365047 --- /dev/null +++ b/zt-module-base/zt-module-base-server/src/main/resources/mapper/processingoperationmaterial/ProcessingOperationMaterialMapper.xml @@ -0,0 +1,12 @@ + + + + + + + \ No newline at end of file From 5e5db686c25ed7db0e809c889e2938dd1eb19fbc Mon Sep 17 00:00:00 2001 From: guojunyun Date: Wed, 29 Oct 2025 16:08:38 +0800 Subject: [PATCH 3/6] =?UTF-8?q?=E5=9B=BD=E8=B4=B82.0=E7=B3=BB=E7=BB=9F?= =?UTF-8?q?=E8=B0=83=E7=94=A8=E6=8E=A5=E5=8F=A3=E8=AF=B4=E6=98=8E=E4=BF=AE?= =?UTF-8?q?=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/zt/plat/module/contractorder/api/ContractApi.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 051c0fb..cbb52ad 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 @@ -41,7 +41,7 @@ public interface ContractApi { CommonResult> getOrderByOrderIds(@RequestBody List ids); @PostMapping(PREFIX + "/push") - @Operation(summary = "国贸2.0系统创建合同") + @Operation(summary = "国贸2.0系统推送合同") CommonResult push(@Valid @RequestBody IntContract reqVO) throws Exception; @GetMapping(PREFIX + "/logistics/list/page") From c98605247f27c101409018bd0c3805a71c82feec Mon Sep 17 00:00:00 2001 From: guojunyun Date: Wed, 29 Oct 2025 16:48:49 +0800 Subject: [PATCH 4/6] =?UTF-8?q?SZHGYL-55=E7=BC=BA=E9=99=B7=E4=BF=AE?= =?UTF-8?q?=E6=AD=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../admin/templtp/vo/TemplateInstanceDataSaveReqVO.java | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/templtp/vo/TemplateInstanceDataSaveReqVO.java b/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/templtp/vo/TemplateInstanceDataSaveReqVO.java index 2d1a589..6efb512 100644 --- a/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/templtp/vo/TemplateInstanceDataSaveReqVO.java +++ b/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/templtp/vo/TemplateInstanceDataSaveReqVO.java @@ -1,9 +1,8 @@ package com.zt.plat.module.base.controller.admin.templtp.vo; import io.swagger.v3.oas.annotations.media.Schema; -import lombok.*; -import java.util.*; -import jakarta.validation.constraints.*; +import jakarta.validation.constraints.NotEmpty; +import lombok.Data; @Schema(description = "管理后台 - 实例字段值新增/修改 Request VO") @Data @@ -22,6 +21,6 @@ public class TemplateInstanceDataSaveReqVO { @Schema(description = "用户填写的值", requiredMode = Schema.RequiredMode.REQUIRED) // @NotEmpty(message = "用户填写的值不能为空") - private String fldVal; + private Object fldVal; } From be4b1199ff02441ac5110d6592a9027d0f63ed4d Mon Sep 17 00:00:00 2001 From: guojunyun Date: Wed, 29 Oct 2025 17:03:28 +0800 Subject: [PATCH 5/6] =?UTF-8?q?SZHGYL-56=E7=BC=BA=E9=99=B7=E4=BF=AE?= =?UTF-8?q?=E6=AD=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../contractorder/dal/mysql/contract/ContractMainMapper.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/zt-module-contract-order/zt-module-contract-order-server/src/main/java/com/zt/plat/module/contractorder/dal/mysql/contract/ContractMainMapper.java b/zt-module-contract-order/zt-module-contract-order-server/src/main/java/com/zt/plat/module/contractorder/dal/mysql/contract/ContractMainMapper.java index 6819ec4..85bfebd 100644 --- a/zt-module-contract-order/zt-module-contract-order-server/src/main/java/com/zt/plat/module/contractorder/dal/mysql/contract/ContractMainMapper.java +++ b/zt-module-contract-order/zt-module-contract-order-server/src/main/java/com/zt/plat/module/contractorder/dal/mysql/contract/ContractMainMapper.java @@ -17,10 +17,11 @@ public interface ContractMainMapper extends BaseMapperX { default PageResult selectContractPage(ContractPageReqVO reqVO) { return selectPage(reqVO, new LambdaQueryWrapperX() .likeIfPresent(ContractMainDO::getContractName, reqVO.getContractName()) - .eqIfPresent(ContractMainDO::getContractPaperNumber, reqVO.getContractPaperNumber()) + .likeIfPresent(ContractMainDO::getContractPaperNumber, reqVO.getContractPaperNumber()) .eqIfPresent(ContractMainDO::getDirection, reqVO.getDirection()) .betweenIfPresent(ContractMainDO::getSignDate, reqVO.getSignDate()) .likeIfPresent(ContractMainDO::getPurchaseCompanyName, reqVO.getPurchaseCompanyName()) + .likeIfPresent(ContractMainDO::getSalesCompanyName, reqVO.getSalesCompanyName()) .eqIfPresent(ContractMainDO::getBasicAmount, reqVO.getBasicAmount()) .eqIfPresent(ContractMainDO::getStatus, reqVO.getStatus()) .eqIfPresent(ContractMainDO::getBusinessType, reqVO.getBusinessType()) From fd9d83b43054d3534fc2f501be08aa4d83a97c75 Mon Sep 17 00:00:00 2001 From: guojunyun Date: Wed, 29 Oct 2025 17:22:11 +0800 Subject: [PATCH 6/6] =?UTF-8?q?=E8=8E=B7=E5=8F=96=E5=90=88=E5=90=8C?= =?UTF-8?q?=E8=AF=A6=E6=83=85=E6=8E=A5=E5=8F=A3=E8=BF=94=E5=9B=9E=E6=98=AF?= =?UTF-8?q?=E5=90=A6=E5=86=85=E9=83=A8=E4=BC=81=E4=B8=9A=EF=BC=88isInterna?= =?UTF-8?q?l=EF=BC=89=E5=AD=97=E6=AE=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../module/contractorder/api/vo/contract/ContractRespVO.java | 3 +++ 1 file changed, 3 insertions(+) diff --git a/zt-module-contract-order/zt-module-contract-order-api/src/main/java/com/zt/plat/module/contractorder/api/vo/contract/ContractRespVO.java b/zt-module-contract-order/zt-module-contract-order-api/src/main/java/com/zt/plat/module/contractorder/api/vo/contract/ContractRespVO.java index a112ce0..1c1bbc1 100644 --- a/zt-module-contract-order/zt-module-contract-order-api/src/main/java/com/zt/plat/module/contractorder/api/vo/contract/ContractRespVO.java +++ b/zt-module-contract-order/zt-module-contract-order-api/src/main/java/com/zt/plat/module/contractorder/api/vo/contract/ContractRespVO.java @@ -233,6 +233,9 @@ public class ContractRespVO { @Schema(description = "ERP乙方公司名称") private String erpSalesCompanyName; + @Schema(description = "是否内部企业(字典:ERP_CTRT_YN)") + private String isInternal; + @Schema(description = "合同分类(字典:SPLY_BSN_TP)") private String businessType;