diff --git a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/api/user/EbomApi.java b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/api/user/EbomApi.java index e2fc9a85..15ac993b 100644 --- a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/api/user/EbomApi.java +++ b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/api/user/EbomApi.java @@ -168,6 +168,8 @@ public class EbomApi extends BaseApi { @PostMapping("exportBom") @ApiOperation("工作明细导出") + @LogRecord(success = "Ebom-工作明细导出,操作结果:{{#_ret}}", bizNo = "", + extra = "{{#bomRowIds.toString()}}" ,type = "Ebom-工作明细导出") public void exportBom(@RequestBody List bomRowIds, HttpServletResponse response) throws IOException { VUtils.isTure(CollUtil.isEmpty(bomRowIds)).throwMessage("请选择要导出的物料行"); bomNewEbomParentService.exportBom(bomRowIds, response); @@ -175,6 +177,8 @@ public class EbomApi extends BaseApi { @PostMapping("editExportBom") @ApiOperation("编辑导出") + @LogRecord(success = "Ebom-编辑导出,操作结果:{{#_ret}}", bizNo = "", + extra = "{{#list.toString()}}" ,type = "Ebom-编辑导出") public void editExportBom(@RequestBody List list, HttpServletResponse response) throws IOException { VUtils.isTure(CollectionUtil.isEmpty(list)).throwMessage("请选择要导出的物料行"); bomNewEbomParentService.editExportBom(list, response); @@ -245,6 +249,8 @@ public class EbomApi extends BaseApi { @PostMapping("revertDesign") @ApiOperation("退回到设计") + @LogRecord(success = "Ebom-退回到设计:{{#log}},操作结果:{{#_ret}}", bizNo = "", + extra = "{{#dto.rowIdList.toString()}}" ,type = "Ebom-退回到设计") public ResultVO revertDesign(@RequestBody BomNewEBomRevertDTO dto) throws ExecutionException, InterruptedException { if (CollectionUtil.isEmpty(dto.getRowIdList())) { return ResultVO.error(STATE.ParamErr, "请选择要退回的数据"); @@ -259,6 +265,8 @@ public class EbomApi extends BaseApi { @PostMapping("reviewDesign") @ApiOperation("设计复核") + @LogRecord(success = "Ebom-设计复核:{{#log}},操作结果:{{#_ret}}", bizNo = "", + extra = "{{#dto.rowIdList.toString()}}" ,type = "Ebom-设计复核") public ResultVO reviewDesign(@RequestBody BomNewEBomRevertDTO dto) throws ExecutionException, InterruptedException { if (CollectionUtil.isEmpty(dto.getRowIdList())) { return ResultVO.error(STATE.ParamErr, "请选择要复核的数据"); @@ -286,6 +294,7 @@ public class EbomApi extends BaseApi { @PostMapping("updateProjectType") @ApiOperation("更新项目类型") + @LogRecord(success = "Ebom-更新项目类型,操作结果:{{#_ret}}", bizNo = "",type = "Ebom-更新项目类型") public ResultVO updateProjectType(@RequestBody BomNewEbomProjectTypeDTO dto) { VUtils.isTure(StrUtil.isEmpty(dto.getProjectType())).throwMessage("项目类型不能为空"); @@ -311,6 +320,7 @@ public class EbomApi extends BaseApi { @PostMapping("changeMaterial") @ApiOperation("更新物料行") + @LogRecord(success = "Ebom-更新物料行,物料编码:{{#dto.parent.materialNo}}-版本:{{dto.parent.currentVersion}},操作结果:{{#_ret}}", bizNo = "",type = "Ebom-更新物料行") public ResultVO> changeMaterial(@RequestBody BomNewEBomChangeDTO dto) { if ( dto.getParent() ==null || CollectionUtil.isEmpty(dto.getDatas()) ) { return ResultVO.error(STATE.Error, "选择更新的数据"); @@ -326,6 +336,7 @@ public class EbomApi extends BaseApi { @GetMapping("delete") @ApiOperation("删除物料") + @LogRecord(success = "Ebom-删除物料,物料编码:{{#bom.materialNo}}-版本:{{#bom.currentVersion}},操作结果:{{#_ret}}", bizNo = "{{#bomRowId}}",type = "Ebom-删除物料") public ResultVO deleteBom(@RequestParam("bomRowId") Long bomRowId ) throws ExecutionException, InterruptedException{ bomNewEbomParentService.deleteBom(bomRowId); @@ -347,6 +358,7 @@ public class EbomApi extends BaseApi { @PostMapping("submit") @ApiOperation("提交") + @LogRecord(success = "Ebom-提交,物料编码:{{#dto.parent.materialNo}}-版本:{{#dto.parent.currentVersion}},操作结果:{{#_ret}}", bizNo = "{{#dto.parent.rowId}}",type = "Ebom-提交") public ResultVO submit(@RequestBody BomNewEBomParentEditDTO dto) throws ExecutionException, InterruptedException { return ResultVO.success(bomNewEbomParentService.submit(dto)); } @@ -354,6 +366,7 @@ public class EbomApi extends BaseApi { @PostMapping("intiException") @ApiOperation("初始化错误类型") + @LogRecord(success = "Ebom-初始化错误类型,操作结果:{{#_ret}}", bizNo = "{{#bomRowIds.toString()}}",type = "Ebom-提交") public ResultVO intiException(@RequestBody List bomRowIds) throws ExecutionException, InterruptedException { bomNewEbomParentService.batchCheckAndSaveEBomException(bomRowIds ); @@ -371,13 +384,12 @@ public class EbomApi extends BaseApi { // } - @LogRecord(success = "luo下了一个订单,购买商品「{{#name.toString()}}}」,测试变量「dsfsdf」,下单结果:{{#_ret}}", + @LogRecord(success = "luo下了一个订单,购买商品「{{#bom.currentVersion}}}」,测试变量「dsfsdf」,下单结果:{{#_ret}}", bizNo = "sfsfsa" ,type = "dsfdsf") @PostMapping("log") @ApiOperation("测试日志") public boolean createOrder() { - LogRecordContext.putVariable("name","罗里面"); - + bomNewEbomParentService.createOrder(); return true; } diff --git a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/api/user/MBomApi.java b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/api/user/MBomApi.java index d1797f78..2196ebe2 100644 --- a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/api/user/MBomApi.java +++ b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/api/user/MBomApi.java @@ -5,6 +5,7 @@ import cn.hutool.core.collection.CollectionUtil; import cn.hutool.core.util.StrUtil; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.mzt.logapi.starter.annotation.LogRecord; import com.nflg.product.base.core.api.BaseApi; import com.nflg.product.base.core.exception.NflgBusinessException; import com.nflg.product.bomnew.constant.FactoryCodeEnum; @@ -135,6 +136,9 @@ public class MBomApi extends BaseApi { @PostMapping("superSaterialStatus") @ApiOperation("设置超级物料") + @LogRecord(success = "Mbom-设置超级物料,操作结果:{{#_ret}}", + extra = "{{#dto.toString()}}", + bizNo = "{{#dto.rowId}}" ,type = "Mbom-设置超级物料") public ResultVO superSaterialStatus( @RequestBody BomNewMbomSuperStatusDTO dto) { if (Objects.isNull(dto.getRowId() )) { @@ -160,6 +164,9 @@ public class MBomApi extends BaseApi { @PostMapping("applyBack") @ApiOperation("申请退回") + @LogRecord(success = "Mbom-申请退回,操作结果:{{#_ret}}", + extra = "{{#dto.toString()}}", + bizNo = "" ,type = "Mbom-申请退回") public ResultVO applyBack(@RequestBody BomNewMbomApplyBackMaterialDTO dto){ VUtils.isTure(CollectionUtil.isEmpty(dto.getRowIds())).throwMessage("选择行数据操作"); bomNewMbomBackMaterialService.applyBack(dto); @@ -168,6 +175,9 @@ public class MBomApi extends BaseApi { @PostMapping("rejectBack") @ApiOperation("申请驳回") + @LogRecord(success = "Mbom-申请驳回,操作结果:{{#_ret}}", + extra = "{{#rowIds.toString()}}", + bizNo = "{{#rowIds.toString()}}" ,type = "Mbom-申请驳回") public ResultVO rejectBack(@RequestBody List rowIds){ VUtils.isTure(CollectionUtil.isEmpty(rowIds)).throwMessage("选择行数据操作"); @@ -177,6 +187,9 @@ public class MBomApi extends BaseApi { @PostMapping("deleteBack") @ApiOperation("删除申请") + @LogRecord(success = "Mbom-删除申请,操作结果:{{#_ret}}", + extra = "{{#rowIds.toString()}}", + bizNo = "{{#rowIds.toString()}}" ,type = "Mbom-删除申请") public ResultVO deleteBack(@RequestBody List rowIds){ VUtils.isTure(CollectionUtil.isEmpty(rowIds)).throwMessage("选择行数据操作"); @@ -189,6 +202,10 @@ public class MBomApi extends BaseApi { @PostMapping("confirmBack") @ApiOperation("确认退回") + @LogRecord(success = "Mbom-确认退回,操作结果:{{#_ret}}", + + extra = "{{#rowIds.toString()}}", + bizNo = "{{#rowIds.toString()}}" ,type = "Mbom-确认退回") public ResultVO confirmBack(@RequestBody List rowIds){ VUtils.isTure(CollectionUtil.isEmpty(rowIds)).throwMessage("选择行数据操作"); diff --git a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/api/user/OptionalEbomApi.java b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/api/user/OptionalEbomApi.java index 8b4e7ac7..b70795b7 100644 --- a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/api/user/OptionalEbomApi.java +++ b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/api/user/OptionalEbomApi.java @@ -7,6 +7,7 @@ import cn.hutool.core.util.StrUtil; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.mzt.logapi.starter.annotation.LogRecord; import com.nflg.product.base.core.conmon.util.SessionUtil; import com.nflg.product.base.core.exception.NflgBusinessException; import com.nflg.product.bomnew.constant.OptionalBomConstant; @@ -88,6 +89,9 @@ public class OptionalEbomApi extends BaseApi { @PostMapping("updateDevice") @ApiOperation("编辑机型") + @LogRecord(success = "移动破-编辑机型,设备编号{{#dto.deviceNo}},操作结果:{{#_ret}}", + extra = "{{#dto.toString()}}", + bizNo = "{{#dto.rowId}}" ,type = "移动破-编辑机型") public ResultVO updateDevice(@RequestBody OptionalEbomMainDTO dto) { if(dto.getRowId()==null ){ @@ -125,6 +129,10 @@ public class OptionalEbomApi extends BaseApi { @PutMapping("updateStatus") @ApiOperation("更改设备状态") + @LogRecord(success = "移动破-更改设备状态,操作结果:{{#_ret}}", + extra = "{{#input.toString()}}", + bizNo = "{{#input.rowId}}" ,type = "移动破-更改设备状态") + //@ApiParam("机型id") @RequestParam("rowId") Long rowId, @ApiParam("状态(0 为隐藏 1显示)") @RequestParam("status") Integer status public ResultVO updateStatus(@RequestBody OptionalEbomUpdateDTO input ) { if(input.getRowId()==null || input.getStatus() ==null){ @@ -145,6 +153,8 @@ public class OptionalEbomApi extends BaseApi { @DeleteMapping("deleteDevice") @ApiOperation("删除设备") + @LogRecord(success = "移动破-删除设备,操作结果:{{#_ret}}", + bizNo = "{{#rowIds}}" ,type = "移动破-删除设备") public ResultVO deleteDevice(@RequestBody List rowIds) { if ( CollectionUtil.isEmpty(rowIds)) { return ResultVO.error(STATE.ParamErr, "选择待删除数据"); @@ -170,6 +180,11 @@ public class OptionalEbomApi extends BaseApi { @PutMapping("updateOptionRemark") @ApiOperation("更改选项备注") + + @LogRecord(success = "移动破-更改选项备注,操作结果:{{#_ret}}", + extra = "{{#input.toString()}}", + bizNo = "{{#input.rowId}}" ,type = "移动破-更改选项备注") + public ResultVO updateOptionRemark(@RequestBody OptionalEbomSubmitEditDTO.OptionalEbomImportChildSubmitDTO input) { if(input.getRowId()==null ){ return ResultVO.error(STATE.ParamErr, "操作数据为空"); @@ -182,6 +197,9 @@ public class OptionalEbomApi extends BaseApi { @PutMapping("updateOptionStatus") @ApiOperation("更改选项状态") + @LogRecord(success = "移动破-更改选项状态,操作结果:{{#_ret}}", + extra = "{{#input.toString()}}", + bizNo = "{{#input.rowId}}" ,type = "移动破-更改选项状态") public ResultVO updateOptionStatus(@RequestBody OptionalEbomUpdateDTO input) { if(input.getRowId()==null || input.getStatus() ==null){ return ResultVO.error(STATE.ParamErr, "操作数据为空"); @@ -200,7 +218,10 @@ public class OptionalEbomApi extends BaseApi { } @DeleteMapping("deleteOption") - @ApiOperation("删除选配数据") + @ApiOperation("删除选项数据") + @LogRecord(success = "移动破-删除选项数据,操作结果:{{#_ret}}", + + bizNo = "{{#rowIds}}" ,type = "移动破-删除选项数据") public ResultVO deleteOption(@RequestBody List rowIds) { if ( CollectionUtil.isEmpty(rowIds)) { @@ -216,6 +237,9 @@ public class OptionalEbomApi extends BaseApi { @PostMapping("optionAdd") @ApiOperation("添加选项数据") + @LogRecord(success = "移动破-添加选项数据,操作结果:{{#_ret}}", + extra = "{{#bom.toString()}}", + bizNo = "" ,type = "移动破-添加选项数据") public ResultVO optionAdd(@RequestBody OptionalEbomImportChildAddDTO dto) { if (dto == null) { return ResultVO.error("添加数据空"); @@ -257,7 +281,7 @@ public class OptionalEbomApi extends BaseApi { @PostMapping("ebomEditTree") - @ApiOperation("编辑机型下选配") + @ApiOperation("获取机型下选项") public ResultVO ebomEditTree(@RequestBody OptionalEbomImportChildQuery query) { if(query.getRootRowId()==null ){ @@ -270,7 +294,10 @@ public class OptionalEbomApi extends BaseApi { @PutMapping("submitEditTree") - @ApiOperation("提交设置标配") + @ApiOperation("编辑机型下选项") + @LogRecord(success = "移动破-编辑机型下选项,机型id-{{#dto.deviceInfo.rowId}} ,操作结果:{{#_ret}}", + extra = "{{#dto.toString()}}", + bizNo = "{{#dto.deviceInfo.rowId}}" ,type = "移动破-编辑机型下选项") public ResultVO submitEditTree(@RequestBody OptionalEbomSubmitEditDTO dto) { return ResultVO.success(aggregOptionConfigService.submitEbomEditTree(dto)); } @@ -288,6 +315,9 @@ public class OptionalEbomApi extends BaseApi { @DeleteMapping("deleteTmp") @ApiOperation("删除暂存") + @LogRecord(success = "移动破-删除暂存,操作结果:{{#_ret}}", + extra = "{{#rowIds.toString()}}", + bizNo = "{{#rowIds.toString()}}" ,type = "移动破-删除暂存") public ResultVO deleteTmp(@RequestBody List rowIds) { if(CollectionUtil.isEmpty(rowIds)){ @@ -308,7 +338,11 @@ public class OptionalEbomApi extends BaseApi { } @PostMapping ("submitTmpOptionTree") - @ApiOperation("变更暂存数据") + @ApiOperation("移动破-变更暂存数据") + @LogRecord(success = "移动破-变更暂存数据,操作结果:{{#_ret}}", + extra = "{{#dto.toString()}}", + bizNo = "{{#dto.rowId}}" ,type = "移动破-变更暂存数据") + public ResultVO submitTmpOptionTree(@RequestBody OptionalEbomConfigDTO dto) { @@ -320,7 +354,10 @@ public class OptionalEbomApi extends BaseApi { @PostMapping ("createTmpOptionTree") - @ApiOperation("提交暂存数据,rowId设备id") + @ApiOperation("移动破-提交暂存数据,rowId设备id") + @LogRecord(success = "生成暂存数据,操作结果:{{#_ret}}", + extra = "{{#dto.toString()}}", + bizNo = "{{#bom.rowId}}" ,type = "移动破-生成暂存数据") public ResultVO createTmpOptionTree(@RequestBody OptionalEbomConfigDTO dto) { @@ -362,6 +399,9 @@ public class OptionalEbomApi extends BaseApi { */ @PostMapping("publish") @ApiOperation("发布生成") + @LogRecord(success = "移动破-发布生成,操作结果:{{#_ret}}", + extra = "{{#dto.toString()}}", + bizNo = "{{#dto.rowId}}" ,type = "移动破-发布生成") public ResultVO publish(@RequestBody OptionalEbomPublishAddDTO dto) { if(Objects.isNull(dto.getRowId())){ @@ -382,6 +422,8 @@ public class OptionalEbomApi extends BaseApi { @GetMapping("exportPreview") @ApiOperation("预览导出") + @LogRecord(success = "移动破-预览导出,操作结果:{{#_ret}}", bizNo = "", + extra = "{{#rowId}}" ,type = "移动破-预览导出") public void exportPreview(HttpServletResponse response,@ApiParam("暂存id") @RequestParam("rowId") Long rowId) throws Exception { OptionalEbomConfigTmpAggregVO voObj= aggregOptionConfigService.publishPreviewTree(rowId); String fileName= StrUtil.format("{}预览导出{}",voObj.getDeviceInfo().getDeviceName(),System.currentTimeMillis()); @@ -395,6 +437,8 @@ public class OptionalEbomApi extends BaseApi { @GetMapping("exportProducePreview") @ApiOperation("生产预览导出") + @LogRecord(success = "移动破-生产预览导出,操作结果:{{#_ret}}", bizNo = "", + extra = "{{#rowId}}" ,type = "移动破-生产预览导出") public void exportProducePreview(HttpServletResponse response,@ApiParam("暂存id") @RequestParam("rowId") Long rowId) throws Exception { OptionalEbomConfigTmpAggregVO voObj= aggregOptionConfigService.publishPreviewTree(rowId); String fileName= StrUtil.format("{}生产预览导出{}",voObj.getDeviceInfo().getDeviceName(),System.currentTimeMillis()); @@ -407,6 +451,8 @@ public class OptionalEbomApi extends BaseApi { @GetMapping("exportDeviceMaterial") @ApiOperation("设备物料导出") + @LogRecord(success = "移动破-设备物料导出,操作结果:{{#_ret}}", bizNo = "", + extra = "{{#rowId}}" ,type = "移动破-设备物料导出") public void exportDeviceMaterial(HttpServletResponse response,@ApiParam("设备id") @RequestParam("rowId") Long rowId) throws Exception { OptionalEbomImportChildQuery query=new OptionalEbomImportChildQuery(); query.setRootRowId(rowId); diff --git a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/api/user/OptionalMbomApi.java b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/api/user/OptionalMbomApi.java index 266bf96e..4842c22e 100644 --- a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/api/user/OptionalMbomApi.java +++ b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/api/user/OptionalMbomApi.java @@ -6,6 +6,7 @@ import cn.hutool.core.util.StrUtil; import cn.hutool.crypto.digest.MD5; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.mzt.logapi.starter.annotation.LogRecord; import com.nflg.product.base.core.api.BaseApi; import com.nflg.product.base.core.conmon.util.SessionUtil; import com.nflg.product.base.core.exception.NflgBusinessException; @@ -106,6 +107,10 @@ public class OptionalMbomApi extends BaseApi { @PostMapping("delete") @ApiOperation("删除物料") + + @LogRecord(success = "移动破-删除物料,操作结果:{{#_ret}}", + extra = "{{#rowIds.toString()}}", + bizNo = "{{#rowIds.toString()}}" ,type = "移动破-删除物料") public ResultVO deleteMaterial(@RequestBody List rowIds ) { if(CollectionUtil.isEmpty(rowIds)){ @@ -119,6 +124,10 @@ public class OptionalMbomApi extends BaseApi { } @PostMapping("add") @ApiOperation("添加物料") + @LogRecord(success = "移动破-添加物料,操作结果:{{#_ret}}", + extra = "{{#bom.toString()}}", + bizNo = "" ,type = "移动破-添加物料") + public ResultVO addMaterial(@RequestBody OptionalMbomMaterialAddDTO dto ) { if(Objects.isNull(dto.getRowId())){ throw new NflgBusinessException(STATE.Error, "rowId不能为空" ); @@ -150,6 +159,8 @@ public class OptionalMbomApi extends BaseApi { @GetMapping("importSap") @ApiOperation("导入sap") + @LogRecord(success = "移动破-导入sap,操作结果:{{#_ret}}", bizNo = "", + extra = "{{#rowId}}" ,type = "移动破-导入sap") public ResultVO importSap(@ApiParam("行Id") @RequestParam("rowId") Long rowId) { if(Objects.isNull(rowId)){ diff --git a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/api/user/PBomApi.java b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/api/user/PBomApi.java index 6eb139fe..518cb6c2 100644 --- a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/api/user/PBomApi.java +++ b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/api/user/PBomApi.java @@ -2,6 +2,8 @@ package com.nflg.product.bomnew.api.user; import cn.hutool.core.collection.CollUtil; import com.baomidou.mybatisplus.core.metadata.IPage; +import com.mzt.logapi.context.LogRecordContext; +import com.mzt.logapi.starter.annotation.LogRecord; import com.nflg.product.base.core.api.BaseApi; import com.nflg.product.bomnew.constant.EBomConstant; import com.nflg.product.bomnew.constant.PBomEditStatusEnum; @@ -31,6 +33,7 @@ import java.io.IOException; import java.io.UnsupportedEncodingException; import java.util.List; import java.util.Map; +import java.util.Objects; import java.util.concurrent.ExecutionException; /** @@ -78,12 +81,14 @@ public class PBomApi extends BaseApi { @PostMapping("exportWorkDetailsListByPage") @ApiOperation("导出工作列表--导出") + @LogRecord(success = "PBom-导出工作列表,操作结果:{{#_ret}}", bizNo = "",type = "PBom-导出工作列表") public void exportWorkDownLoad(@RequestBody BomNewPbomParentQuery query ,HttpServletResponse response) throws IOException { bomNewPbomParentService.workDetailsExcel(query,response); } @PostMapping("releaseListDownLoad") @ApiOperation("PBom已发布工作列表--导出") + @LogRecord(success = "PBom-导出已发布工作列表,操作结果:{{#_ret}}", bizNo = "",type = "PBom-已发布工作列表") public void releaseListDownLoad(@RequestBody BomNewPbomParentQuery query ,HttpServletResponse response) throws IOException { bomNewPbomParentService.releaseListExcel(query,response); } @@ -96,6 +101,7 @@ public class PBomApi extends BaseApi { @PostMapping("editStaging") @ApiOperation("编辑-暂存") + @LogRecord(success = "PBom-编辑-暂存,物料编码:{{#bom.materialNo}}-版本:{{#bom.currentVersion}},操作结果:{{#_ret}}", bizNo = "{{#param.bomRowId}}",type = "PBom-编辑-暂存") public ResultVO editStaging(@Valid @RequestBody EditPBomParamDTO param){ bomNewPbomParentService.editSave(param,PBomEditStatusEnum.HANDLER_TEMP); return ResultVO.success(true); @@ -103,6 +109,7 @@ public class PBomApi extends BaseApi { @PostMapping("editSubmit") @ApiOperation("编辑-提交") + @LogRecord(success = "PBom-编辑-提交,物料编码:{{#bom.materialNo}}-版本:{{#bom.currentVersion}},操作结果:{{#_ret}}", bizNo = "{{#param.bomRowId}}",type = "PBom-编辑-提交") public ResultVO editSubmit(@Valid @RequestBody EditPBomParamDTO param){ //检查物料编码是否存在 bomNewPbomParentService.checkMaterialNo(param.getChildList()); @@ -115,6 +122,7 @@ public class PBomApi extends BaseApi { @PostMapping("editDel") @ApiOperation("编辑-删除") + @LogRecord(success = "PBom-编辑-删除,物料编码:{{#bom.materialNo}}-版本:{{#bom.currentVersion}},操作结果:{{#_ret}}", bizNo = "{{#param.bomRowId}}",type = "PBom-编辑-删除") public ResultVO editDel(@Valid @RequestBody EditPBomDelDTO param){ VUtils.isTure(CollUtil.isEmpty(param.getRowIdList())).throwMessage("请选择要删除的数据行"); bomNewPbomParentService.editDel(param); @@ -123,6 +131,7 @@ public class PBomApi extends BaseApi { @PostMapping("setVirtualPart") @ApiOperation("编辑-设置虚拟件") + @LogRecord(success = "PBom-编辑-设置虚拟件,操作结果:{{#_ret}}", bizNo = "{{#rowIdList.toString()}}",type = "PBom-编辑-设置虚拟件") public ResultVO setVirtualPart(@RequestBody List rowIdList){ VUtils.isTure(CollUtil.isEmpty(rowIdList)).throwMessage("请选择要设置虚拟件的行"); @@ -160,6 +169,7 @@ public class PBomApi extends BaseApi { @PostMapping("createTechnologyPackage") @ApiOperation("编辑-创建虚拟包") + @LogRecord(success = "PBom-编辑-创建虚拟包,物料编码:{{#packageParam.materialName}},图号:{{#packageParam.drawingNo}},操作结果:{{#_ret}}", bizNo = "{{#packageParam.bomRowId}}",type = "PBom-编辑-创建虚拟包") public ResultVO createTechnologyPackage(@Valid @RequestBody TechnologyPackageParam packageParam) throws IOException { return ResultVO.success( bomNewPbomParentService.createTechnologyPackage(packageParam)); @@ -195,6 +205,7 @@ public class PBomApi extends BaseApi { @PostMapping("saveAllocationFactory") @ApiOperation("分工厂-保存") + @LogRecord(success = "PBom-分工厂-保存。操作结果:{{#_ret}}", bizNo = "",type = "PBom-分工厂-保存") public ResultVO saveAllocationFactory(@Valid @RequestBody List params){ return ResultVO.success(bomNewPbomParentService.saveAllocationFactory(params)); @@ -202,15 +213,20 @@ public class PBomApi extends BaseApi { @PostMapping("allocationFactoryForRel") @ApiOperation("分工厂-规则匹配") + @LogRecord(success = "PBom-分工厂-规则匹配,物料编码:{{#bom.materialNo}}-版本:{{#bom.currentVersion}}-规则编码:{{#params.ruleGroupCode}} 操作结果:{{#_ret}}", bizNo = "{{#params.bomRowId}}",type = "PBom-分工厂-规则匹配") public ResultVO allocationFactoryForRel(@Valid @RequestBody AllocationFactoryForRelDTO params) throws ExecutionException, InterruptedException { + BomNewPbomParentEntity bom = bomNewPbomParentService.getBaseMapper().selectById(params.getBomRowId()); + LogRecordContext.putVariable("bom",bom); return ResultVO.success(bomNewPbomParentService.allocationFactoryForRel(params)); } @GetMapping("convertToMBom") @ApiOperation("转MBom") + @LogRecord(success = "PBom-转MBom,物料编码:{{#bom.materialNo}}-版本:{{#bom.currentVersion}} 操作结果:{{#_ret}}", bizNo = "{{#bomRowId}}",type = "PBom-转MBom") public ResultVO convertToMBom(@RequestParam("bomRowId") Long bomRowId) throws ExecutionException, InterruptedException { BomNewPbomParentEntity parent = bomNewPbomParentService.getById(bomRowId); + LogRecordContext.putVariable("bom",parent); VUtils.isTure(!parent.getMaterialNo().startsWith("31")).throwMessage("只有31开头的物料才可以发布"); VUtils.isTure(parent.getStatus()< PBomStatusEnum.PUBLISH.getValue()).throwMessage("只有已发布的BOM才能生成MBom"); // @@ -221,6 +237,7 @@ public class PBomApi extends BaseApi { @GetMapping("realesePbom") @ApiOperation("发布Pbom") + @LogRecord(success = "发布PBom,物料编码:{{#bom.materialNo}}-版本:{{#bom.currentVersion}} 操作结果:{{#_ret}}", bizNo = "{{#bomRowId}}",type = "发布PBom") public ResultVO realesePbom(@RequestParam("bomRowId") Long bomRowId) { return ResultVO.success(bomNewPbomParentService.realesePbom(bomRowId)); @@ -237,6 +254,7 @@ public class PBomApi extends BaseApi { @GetMapping("upgrade") @ApiOperation("发起变更") + @LogRecord(success = "PBom发起变更,物料编码:{{#bom.materialNo}}-版本:{{#bom.currentVersion}} 操作结果:{{#_ret}}", bizNo = "{{#bomRowId}}",type = "发起变更") public ResultVO upgrade(@RequestParam("bomRowId") Long bomRowId) { try { bomNewPbomParentService.upgrade(bomRowId); diff --git a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/BomNewEbomParentFormalService.java b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/BomNewEbomParentFormalService.java index bf1d333e..20b229bf 100644 --- a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/BomNewEbomParentFormalService.java +++ b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/BomNewEbomParentFormalService.java @@ -1,61 +1,80 @@ package com.nflg.product.bomnew.service; -import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.collection.CollUtil; -import cn.hutool.core.collection.CollectionUtil; import cn.hutool.core.convert.Convert; import cn.hutool.core.lang.TypeReference; -import cn.hutool.core.thread.ThreadUtil; -import cn.hutool.core.util.IdUtil; -import cn.hutool.core.util.NumberUtil; -import cn.hutool.core.util.StrUtil; import cn.hutool.extra.spring.SpringUtil; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; -import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; -import com.baomidou.mybatisplus.core.toolkit.IdWorker; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.google.common.collect.ImmutableList; -import com.google.common.collect.Sets; -import com.nflg.product.base.core.conmon.util.SessionUtil; -import com.nflg.product.base.core.exception.NflgBusinessException; -import com.nflg.product.bomnew.constant.*; import com.nflg.product.bomnew.mapper.master.BomNewEbomParentFormalMapper; -import com.nflg.product.bomnew.mapper.master.BomNewEbomParentMapper; -import com.nflg.product.bomnew.pojo.dto.*; -import com.nflg.product.bomnew.pojo.entity.*; -import com.nflg.product.bomnew.pojo.query.BomNewEbomMaterialQuery; -import com.nflg.product.bomnew.pojo.query.BomNewEbomParentQuery; -import com.nflg.product.bomnew.pojo.vo.*; -import com.nflg.product.bomnew.service.domain.EBom.*; -import com.nflg.product.bomnew.util.*; +import com.nflg.product.bomnew.pojo.entity.BomNewEbomChildEntity; +import com.nflg.product.bomnew.pojo.entity.BomNewEbomChildFormalEntity; +import com.nflg.product.bomnew.pojo.entity.BomNewEbomParentEntity; +import com.nflg.product.bomnew.pojo.entity.BomNewEbomParentFormalEntity; import lombok.extern.slf4j.Slf4j; -import nflg.product.common.constant.STATE; -import org.apache.commons.lang3.StringUtils; -import org.springframework.beans.factory.annotation.Qualifier; import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; -import org.ttzero.excel.entity.ListSheet; -import javax.annotation.Resource; -import javax.servlet.http.HttpServletResponse; -import java.io.IOException; -import java.io.InputStream; -import java.math.BigDecimal; -import java.time.LocalDateTime; -import java.util.*; -import java.util.concurrent.ExecutionException; -import java.util.concurrent.ForkJoinPool; -import java.util.concurrent.ForkJoinTask; +import java.util.ArrayList; +import java.util.List; import java.util.stream.Collectors; - @Service @Slf4j public class BomNewEbomParentFormalService extends ServiceImpl { + public void copyEbomFormal(Long eBomRowId) { + + + List bomListId = new ArrayList<>(); + bomListId.add(eBomRowId); + List parentFormalList = new ArrayList<>(); + List childFormalList = new ArrayList<>(); + + while (!bomListId.isEmpty()) { + QueryWrapper queryWrapper1 = new QueryWrapper<>(); + queryWrapper1.lambda().in(BomNewEbomParentEntity::getRowId, bomListId); + + List parentEntityList = SpringUtil.getBean(BomNewEbomParentService.class).list(queryWrapper1); + if (CollUtil.isEmpty(parentEntityList)) { + break; + } + + parentFormalList.addAll(Convert.convert(new TypeReference>() { + }, parentEntityList)); + + //查询子级 + QueryWrapper queryWrapper2 = new QueryWrapper<>(); + queryWrapper2.lambda().in(BomNewEbomChildEntity::getParentRowId, bomListId); + + List childEntityList = SpringUtil.getBean(BomNewEbomChildService.class).list(queryWrapper2); + + if (CollUtil.isEmpty(childEntityList)) { + break; + } + + childFormalList.addAll(Convert.convert(new TypeReference>() { + }, childEntityList)); + + bomListId.clear(); + + List nextBomId = childEntityList.stream().filter(u -> u.getBomVersionRowId() != null && u.getBomVersionRowId() > 0).map(BomNewEbomChildEntity::getBomVersionRowId).collect(Collectors.toList()); + if (CollUtil.isNotEmpty(nextBomId)) { + bomListId.addAll(nextBomId); + } + + } + + if (CollUtil.isNotEmpty(parentFormalList)) { + this.saveOrUpdateBatch(parentFormalList); + // System.out.println(JSON.toJSONString( parentFormalList)); + } + if (CollUtil.isNotEmpty(childFormalList)) { + // System.out.println(JSON.toJSONString( childFormalList)); + SpringUtil.getBean(BomNewEbomChildFormalService.class).saveOrUpdateBatch(childFormalList); + } + } } diff --git a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/BomNewEbomParentService.java b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/BomNewEbomParentService.java index fc4ce2b8..f66acf46 100644 --- a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/BomNewEbomParentService.java +++ b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/BomNewEbomParentService.java @@ -748,6 +748,9 @@ public class BomNewEbomParentService extends ServiceImpl bomNewEbomParentEntityList = this.lambdaQuery().in(BomNewEbomParentEntity::getRowId, rowIds).eq(BomNewEbomParentEntity::getRootIs, 1).list(); - if (CollUtil.isEmpty(bomNewEbomParentEntityList)) { // throw new NflgBusinessException(STATE.BusinessError, "下级BOM无法进行退回"); VUtils.isTure(true).throwMessage("下级BOM无法进行退回"); } - + Set materialNoAndVersion = bomNewEbomParentEntityList.stream().map(u -> StrUtil.join("-", u.getMaterialNo(), u.getCurrentVersion())).collect(Collectors.toSet()); + LogRecordContext.putVariable("log",materialNoAndVersion); if (rowIds.size() != bomNewEbomParentEntityList.size()) { @@ -1150,6 +1153,8 @@ public class BomNewEbomParentService extends ServiceImpl materialNoAndVersion = bomNewEbomParentEntityList.stream().map(u -> StrUtil.join("-", u.getMaterialNo(), u.getCurrentVersion())).collect(Collectors.toSet()); + LogRecordContext.putVariable("log",materialNoAndVersion); if (rowIds.size() != bomNewEbomParentEntityList.size()) { VUtils.isTure(true).throwMessage("数据中包含有下级BOM无法进行复核"); @@ -1391,6 +1396,7 @@ public class BomNewEbomParentService extends ServiceImpl { +public class BomNewPbomParentFormalService extends ServiceImpl { + /** + * 拷贝pbom已发布数 + */ + public void copyPbomFormal(Long pBomRowId) { + + List bomListId = new ArrayList<>(); + bomListId.add(pBomRowId); + List parentFormalList = new ArrayList<>(); + List childFormalList = new ArrayList<>(); + + while (!bomListId.isEmpty()) { + QueryWrapper queryWrapper1 = new QueryWrapper<>(); + queryWrapper1.lambda().in(BomNewPbomParentEntity::getRowId, bomListId); + + List parentEntityList = SpringUtil.getBean(BomNewPbomParentService.class).list(queryWrapper1); + if (CollUtil.isEmpty(parentEntityList)) { + break; + } + + parentFormalList.addAll(Convert.convert(new TypeReference>() { + }, parentEntityList)); + + //查询子级 + QueryWrapper queryWrapper2 = new QueryWrapper<>(); + queryWrapper2.lambda().in(BomNewPbomChildEntity::getParentRowId, bomListId); + + List childEntityList = SpringUtil.getBean(BomNewPbomChildService.class).list(queryWrapper2); + + if (CollUtil.isEmpty(childEntityList)) { + break; + } + + childFormalList.addAll(Convert.convert(new TypeReference>() { + }, childEntityList)); + + bomListId.clear(); + + List nextBomId = childEntityList.stream().filter(u -> u.getBomVersionRowId() != null && u.getBomVersionRowId() > 0).map(BomNewPbomChildEntity::getBomVersionRowId).collect(Collectors.toList()); + if (CollUtil.isNotEmpty(nextBomId)) { + bomListId.addAll(nextBomId); + } + + } + + if(CollUtil.isNotEmpty(parentFormalList)){ + this.saveOrUpdateBatch(parentFormalList); + // System.out.println(JSON.toJSONString( parentFormalList)); + } + if(CollUtil.isNotEmpty(childFormalList)){ + // System.out.println(JSON.toJSONString( childFormalList)); + SpringUtil.getBean(BomNewPbomChildFormalService.class).saveOrUpdateBatch(childFormalList); + } + } + } diff --git a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/BomNewPbomParentService.java b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/BomNewPbomParentService.java index 30228706..71b50a4d 100644 --- a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/BomNewPbomParentService.java +++ b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/BomNewPbomParentService.java @@ -14,6 +14,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.google.common.collect.ImmutableList; import com.google.common.collect.Sets; +import com.mzt.logapi.context.LogRecordContext; import com.nflg.product.base.core.conmon.util.SessionUtil; import com.nflg.product.base.core.exception.NflgBusinessException; import com.nflg.product.bomnew.constant.*; @@ -311,7 +312,7 @@ public class BomNewPbomParentService extends ServiceImpl childList = Convert.toList(BomNewPbomChildEntity.class, paramDTO.getChildList()); childList.forEach(u -> { u.setParentRowId(paramDTO.getBomRowId()); @@ -354,7 +355,7 @@ public class BomNewPbomParentService extends ServiceImpl childList = pbomChildService.getBaseMapper().selectBatchIds(paramDTO.getRowIdList()); @@ -853,6 +854,7 @@ public class BomNewPbomParentService extends ServiceImpl allBom = getAllBom(bomRowId, 0); @@ -878,7 +880,7 @@ public class BomNewPbomParentService extends ServiceImpl() { }, optionalEbomConfigEntity); - + LogRecordContext.putVariable("bom",optionalEbomConfigVO); return optionalEbomConfigVO; } diff --git a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/OptionalEbomImportChildService.java b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/OptionalEbomImportChildService.java index 863aa511..30eae8f2 100644 --- a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/OptionalEbomImportChildService.java +++ b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/OptionalEbomImportChildService.java @@ -11,6 +11,7 @@ import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.mzt.logapi.context.LogRecordContext; import com.nflg.product.base.core.conmon.util.SessionUtil; import com.nflg.product.base.core.exception.NflgBusinessException; import com.nflg.product.bomnew.constant.OptionalBomConstant; @@ -130,6 +131,9 @@ public class OptionalEbomImportChildService extends ServiceImpl importSap(Long rowId){ this.saveOrUpdateBatch(entityList); + LogRecordContext.putVariable("bom",entityList); + + }