From 131c6f297fad8f7dedbf35afa92db2c541b4bc4d Mon Sep 17 00:00:00 2001 From: wangwei <1610949092@qq.com> Date: Wed, 16 Aug 2023 18:05:26 +0800 Subject: [PATCH] =?UTF-8?q?=E5=90=8C=E6=AD=A5=E5=88=A0=E9=99=A4=E5=9F=BA?= =?UTF-8?q?=E7=A1=80=E6=95=B0=E6=8D=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/glxp/api/constant/BasicDataType.java | 16 ++ .../com/glxp/api/constant/SocketMsgType.java | 8 + .../basic/BasicBussinessTypeController.java | 57 +++-- .../controller/basic/BasicCorpController.java | 30 ++- .../controller/basic/BasicDataController.java | 206 ++++++++++++++++++ .../basic/UdiRelevanceController.java | 50 +++-- .../controller/basic/UdiRlSupController.java | 22 +- .../api/controller/sync/SpsSyncWebSocket.java | 78 +++++++ .../glxp/api/entity/sync/SocketMsgEntity.java | 2 +- .../api/entity/sync/SyncEditLogEntity.java | 16 +- .../api/entity/sync/SyncEditTypeEntity.java | 7 +- .../glxp/api/req/basic/BasicDataRequest.java | 18 ++ .../api/req/basic/DeleteBasicDataRequest.java | 16 ++ .../glxp/api/req/system/DeleteRequest.java | 1 + .../api/service/sync/SyncEditLogService.java | 12 +- .../api/service/sync/SyncEditTypeService.java | 11 + 16 files changed, 472 insertions(+), 78 deletions(-) create mode 100644 src/main/java/com/glxp/api/constant/BasicDataType.java create mode 100644 src/main/java/com/glxp/api/controller/basic/BasicDataController.java create mode 100644 src/main/java/com/glxp/api/req/basic/BasicDataRequest.java create mode 100644 src/main/java/com/glxp/api/req/basic/DeleteBasicDataRequest.java diff --git a/src/main/java/com/glxp/api/constant/BasicDataType.java b/src/main/java/com/glxp/api/constant/BasicDataType.java new file mode 100644 index 00000000..46653c8b --- /dev/null +++ b/src/main/java/com/glxp/api/constant/BasicDataType.java @@ -0,0 +1,16 @@ +package com.glxp.api.constant; + +public interface BasicDataType { + + /** + * 耗材字典 + */ + String BASIC_MAINTAIN = "BASIC_MAINTAIN"; //耗材字典 + + String BASIC_MANAGE = "BASIC_MANAGE"; //供应商器械信息 + + String BASIC_CORP_MAINTAIN ="BASIC_CORP_MAINTAIN"; //往来信息维护 + + String BASIC_BUSINESS_TYPE = "BASIC_BUSINESS_TYPE"; //单据类型设置 + +} diff --git a/src/main/java/com/glxp/api/constant/SocketMsgType.java b/src/main/java/com/glxp/api/constant/SocketMsgType.java index 12997a66..5d8e8e8f 100644 --- a/src/main/java/com/glxp/api/constant/SocketMsgType.java +++ b/src/main/java/com/glxp/api/constant/SocketMsgType.java @@ -11,4 +11,12 @@ public interface SocketMsgType { */ String TASK_INVOICE_CONFIRM = "TASK_INVOICE_CONFIRM"; //发票确认 + String BASIC_DATA_DELETE = "BASIC_DATA_DELETE"; //耗材字典删除 + + String BASIC_MANAGE_DELETE = "BASIC_MANAGE_DELETE"; //入援物资维护 + + String BASIC_CORP_MAINTAIN_DELETE = "BASIC_CORP_MAINTAIN_DELETE"; //供应商字典 + + String BASIC_BUSINESS_TYPE_DELETE = "BASIC_BUSINESS_TYPE_DELETE"; //单据类型 + } diff --git a/src/main/java/com/glxp/api/controller/basic/BasicBussinessTypeController.java b/src/main/java/com/glxp/api/controller/basic/BasicBussinessTypeController.java index 14109a28..3f509826 100644 --- a/src/main/java/com/glxp/api/controller/basic/BasicBussinessTypeController.java +++ b/src/main/java/com/glxp/api/controller/basic/BasicBussinessTypeController.java @@ -14,10 +14,14 @@ import com.glxp.api.common.res.BaseResponse; import com.glxp.api.common.util.ResultVOUtils; import com.glxp.api.constant.BusinessType; import com.glxp.api.constant.ConstantType; +import com.glxp.api.constant.SocketMsgType; import com.glxp.api.controller.BaseController; +import com.glxp.api.controller.sync.SpsSyncWebSocket; import com.glxp.api.entity.auth.WarehouseBussinessTypeEntity; import com.glxp.api.entity.basic.BasicBussinessTypeEntity; +import com.glxp.api.entity.sync.SocketMsgEntity; import com.glxp.api.req.auth.FilterInvBusTypeRequest; +import com.glxp.api.req.basic.BasicDataRequest; import com.glxp.api.req.basic.BusNoUserRequest; import com.glxp.api.req.basic.BussinessTypeSaveRequest; import com.glxp.api.req.basic.FilterBussinessTypeRequest; @@ -259,41 +263,52 @@ public class BasicBussinessTypeController extends BaseController { IoOrderService orderService; @Resource InvBusUserService invBusUserService; + @Resource + SpsSyncWebSocket webSocketServer; /** * 删除单据类型 * * @param deleteRequest - * @param bindingResult + * @param * @return */ @PostMapping("/udiwms/bussinessType/delete") @Log(title = "单据管理", businessType = BusinessType.DELETE) - public BaseResponse deleteBussinessType(@RequestBody DeleteRequest deleteRequest, BindingResult bindingResult) { + public BaseResponse deleteBussinessType(@RequestBody DeleteRequest deleteRequest) { - if (bindingResult.hasErrors()) { - return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); - } +// if (bindingResult.hasErrors()) { +// return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); +// } String id = deleteRequest.getId(); BasicBussinessTypeEntity bussinessTypeEntity = basicBussinessTypeService.selectById(id); //判断是否存在该单据类型单据 - boolean isExitOrder = orderService.isExitByAction(bussinessTypeEntity.getAction()); - if (isExitOrder) { - return ResultVOUtils.error(500, "已存在该类型扫码单据,无法删除!"); - } - - //判断是否被仓库绑定 - boolean isExitUser = invBusUserService.isExitByAction(bussinessTypeEntity.getAction()); - if (isExitUser) { - return ResultVOUtils.error(500, "该单据类型已被用户绑定,请先移除后删除!"); - } - - //判断是否被用户绑定 - boolean isExitInv = warehouseBussinessTypeService.isExitByAction(bussinessTypeEntity.getAction()); - if (isExitInv) { - return ResultVOUtils.error(500, "该单据类型已被仓库绑定,请先移除后删除!"); - } +// boolean isExitOrder = orderService.isExitByAction(bussinessTypeEntity.getAction()); +// if (isExitOrder) { +// return ResultVOUtils.error(500, "已存在该类型扫码单据,无法删除!"); +// } +// +// //判断是否被仓库绑定 +// boolean isExitUser = invBusUserService.isExitByAction(bussinessTypeEntity.getAction()); +// if (isExitUser) { +// return ResultVOUtils.error(500, "该单据类型已被用户绑定,请先移除后删除!"); +// } +// +// //判断是否被用户绑定 +// boolean isExitInv = warehouseBussinessTypeService.isExitByAction(bussinessTypeEntity.getAction()); +// if (isExitInv) { +// return ResultVOUtils.error(500, "该单据类型已被仓库绑定,请先移除后删除!"); +// } + + BasicDataRequest basicDataRequest = new BasicDataRequest(); + basicDataRequest.setDeleteRequest(deleteRequest); + Long userId = getUserId(); + basicDataRequest.setKey("BASIC_BUSINESS_TYPE"); + //推送 + BasicDataRequest request = webSocketServer.insert(basicDataRequest, userId + ""); + request.setDeleteRequest(deleteRequest); + webSocketServer.sendMessage(SocketMsgEntity.builder().type(SocketMsgType.BASIC_BUSINESS_TYPE_DELETE).content(request).remark("单据类型").build(), null); return basicBussinessTypeService.deleteBussinessType(id) == true ? ResultVOUtils.success("删除成功") : ResultVOUtils.error(500, "删除失败,系统繁忙"); diff --git a/src/main/java/com/glxp/api/controller/basic/BasicCorpController.java b/src/main/java/com/glxp/api/controller/basic/BasicCorpController.java index f24ca531..60b73f6e 100644 --- a/src/main/java/com/glxp/api/controller/basic/BasicCorpController.java +++ b/src/main/java/com/glxp/api/controller/basic/BasicCorpController.java @@ -10,15 +10,16 @@ import com.glxp.api.common.res.BaseResponse; import com.glxp.api.common.util.ResultVOUtils; import com.glxp.api.constant.BusinessType; import com.glxp.api.constant.ConstantStatus; +import com.glxp.api.constant.SocketMsgType; +import com.glxp.api.controller.BaseController; +import com.glxp.api.controller.sync.SpsSyncWebSocket; import com.glxp.api.entity.basic.BasicCorpEntity; +import com.glxp.api.entity.sync.SocketMsgEntity; import com.glxp.api.entity.system.SystemParamConfigEntity; import com.glxp.api.entity.thrsys.ThrSystemDetailEntity; import com.glxp.api.entity.thrsys.ThrSystemEntity; import com.glxp.api.http.ErpBasicClient; -import com.glxp.api.req.basic.BasicUnitMaintainFilterRequest; -import com.glxp.api.req.basic.CombineSingleUnitRequest; -import com.glxp.api.req.basic.CombineUnitRequest; -import com.glxp.api.req.basic.RemoveRelRequest; +import com.glxp.api.req.basic.*; import com.glxp.api.req.system.DeleteRequest; import com.glxp.api.req.thrsys.FilterBasicThirdSysRequest; import com.glxp.api.req.thrsys.ThrUnitMaintainFilterRequest; @@ -52,7 +53,7 @@ import java.util.stream.Collectors; * 往来单位信息维护 */ @RestController -public class BasicCorpController { +public class BasicCorpController extends BaseController { @Resource private BasicCorpService basicUnitMaintainService; @@ -72,6 +73,8 @@ public class BasicCorpController { // private OrderService orderService; @Resource private ErpBasicClient erpBasicClient; + @Resource + SpsSyncWebSocket webSocketServer; @GetMapping("/udiwms/basic/unit/maintain/filter") public BaseResponse filterBasicUnitMaintain(BasicUnitMaintainFilterRequest basicUnitMaintainFilterRequest, @@ -339,11 +342,11 @@ public class BasicCorpController { @AuthRuleAnnotation("") @PostMapping("/udiwms/basic/unit/maintain/delete") @Log(title = "往来单位信息", businessType = BusinessType.DELETE) - public BaseResponse deleteBasicUnitMaintain(@RequestBody DeleteRequest deleteRequest, BindingResult bindingResult) { + public BaseResponse deleteBasicUnitMaintain(@RequestBody DeleteRequest deleteRequest) { - if (bindingResult.hasErrors()) { - return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); - } +// if (bindingResult.hasErrors()) { +// return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); +// } String id = deleteRequest.getId(); BasicCorpEntity basicUnitMaintainEntity = basicUnitMaintainService.selectById(id); //todo 该功能还未设计 @@ -354,8 +357,15 @@ public class BasicCorpController { // if (orderEntity != null) { // return ResultVOUtils.error(500, "已存在该供应商单据,无法删除!"); // } - basicUnitMaintainService.deleteById(id); + BasicDataRequest basicDataRequest = new BasicDataRequest(); + basicDataRequest.setDeleteRequest(deleteRequest); + Long userId = getUserId(); + basicDataRequest.setKey("BASIC_CORP_MAINTAIN"); + //推送 + BasicDataRequest request = webSocketServer.insert(basicDataRequest, userId + ""); + request.setDeleteRequest(deleteRequest); + webSocketServer.sendMessage(SocketMsgEntity.builder().type(SocketMsgType.BASIC_CORP_MAINTAIN_DELETE).content(request).remark("往来单位信息").build(), null); return ResultVOUtils.success("删除成功"); } // diff --git a/src/main/java/com/glxp/api/controller/basic/BasicDataController.java b/src/main/java/com/glxp/api/controller/basic/BasicDataController.java new file mode 100644 index 00000000..37e06109 --- /dev/null +++ b/src/main/java/com/glxp/api/controller/basic/BasicDataController.java @@ -0,0 +1,206 @@ +package com.glxp.api.controller.basic; + + +import com.alibaba.fastjson2.JSON; +import com.glxp.api.annotation.AuthRuleAnnotation; +import com.glxp.api.common.res.BaseResponse; +import com.glxp.api.common.util.ResultVOUtils; +import com.glxp.api.constant.BasicDataType; +import com.glxp.api.constant.SocketMsgType; +import com.glxp.api.controller.BaseController; +import com.glxp.api.entity.basic.BasicBussinessTypeEntity; +import com.glxp.api.entity.basic.BasicCorpEntity; +import com.glxp.api.entity.basic.UdiRelevanceEntity; +import com.glxp.api.entity.sync.SocketMsgEntity; +import com.glxp.api.entity.sync.SyncEditLogEntity; +import com.glxp.api.entity.sync.SyncEditTypeEntity; +import com.glxp.api.req.basic.*; +import com.glxp.api.req.system.DeleteCompanyFileRequest; +import com.glxp.api.req.system.DeleteRequest; +import com.glxp.api.service.auth.InvBusUserService; +import com.glxp.api.service.auth.WarehouseBussinessTypeService; +import com.glxp.api.service.basic.*; +import com.glxp.api.service.inout.IoCodeService; +import com.glxp.api.service.inout.IoOrderService; +import com.glxp.api.service.sync.SyncEditLogService; +import com.glxp.api.service.sync.SyncEditTypeService; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RestController; + +import javax.annotation.Resource; +import java.util.Date; +import java.util.List; + + +@RestController +public class BasicDataController extends BaseController { + + @Resource + SyncEditLogService syncEditLogService; + @Resource + SyncEditTypeService syncEditTypeService; + @Resource + BasicBussinessTypeController basicBussinessTypeController; + @Resource + UdiRelevanceService udiRelevanceService; + @Resource + IoCodeService codeService; + @Resource + CompanyProductRelevanceService companyProductRelevanceService; + @Resource + UdiProductService udiProductService; + @Resource + UdiRlSupService udiRlSupService; + @Resource + BasicCorpService basicUnitMaintainService; + @Resource + private IBasicBussinessTypeService basicBussinessTypeService; + @Resource + IoOrderService orderService; + @Resource + InvBusUserService invBusUserService; + @Resource + WarehouseBussinessTypeService warehouseBussinessTypeService; + + //手持终端下载UDI产品信息 + @AuthRuleAnnotation("") + @PostMapping("/udiwms/basicData/deleteBasicData") + public BaseResponse downloadProducts(@RequestBody BasicDataRequest basicDataRequest) { + BaseResponse baseResponse = null; + switch (basicDataRequest.getKey()) { + case BasicDataType.BASIC_MAINTAIN: + //耗材字典 + baseResponse = deleteById(basicDataRequest.getDeleteRequest()); + //插入日志 + insertLog(basicDataRequest.getDeleteBasicDataRequest(), baseResponse, basicDataRequest.getDeleteBasicDataRequest().getUserId()); + //插入操作数据类型记录表 + insertType(basicDataRequest.getDeleteBasicDataRequest()); + + break; + case BasicDataType.BASIC_MANAGE: + //供应商器械信息 + baseResponse = deleteCompanyProductRelevance(basicDataRequest.getDeleteCompanyFileRequest()); + //插入日志 + insertLog(basicDataRequest.getDeleteBasicDataRequest(), baseResponse, basicDataRequest.getDeleteBasicDataRequest().getUserId()); + //插入操作数据类型记录表 + insertType(basicDataRequest.getDeleteBasicDataRequest()); + break; + case BasicDataType.BASIC_CORP_MAINTAIN: + //往来信息维护 + baseResponse = deleteBasicUnitMaintain(basicDataRequest.getDeleteRequest()); + //插入日志 + insertLog(basicDataRequest.getDeleteBasicDataRequest(), baseResponse, basicDataRequest.getDeleteBasicDataRequest().getUserId()); + //插入操作数据类型记录表 + insertType(basicDataRequest.getDeleteBasicDataRequest()); + break; + case BasicDataType.BASIC_BUSINESS_TYPE: + //单据类型设置 + baseResponse = deleteBussinessType(basicDataRequest.getDeleteRequest()); + //插入日志 + insertLog(basicDataRequest.getDeleteBasicDataRequest(), baseResponse, basicDataRequest.getDeleteBasicDataRequest().getUserId()); + //插入操作数据类型记录表 + insertType(basicDataRequest.getDeleteBasicDataRequest()); + break; + default: + break; + } + return ResultVOUtils.success(baseResponse); + } + + + public void insertLog(DeleteBasicDataRequest deleteBasicDataRequest, BaseResponse response, String userId) { + SyncEditLogEntity syncEditLogEntity = new SyncEditLogEntity(); + syncEditLogEntity.setRecordCode(deleteBasicDataRequest.getRecordCode()); + syncEditLogEntity.setOperType(2); + syncEditLogEntity.setDataType(deleteBasicDataRequest.getDataType()); + syncEditLogEntity.setParam(deleteBasicDataRequest.getParam()); + syncEditLogEntity.setJsonResult(JSON.toJSONString(response.getData())); + syncEditLogEntity.setDirectType(2); + syncEditLogEntity.setOperUser(userId); + syncEditLogEntity.setUpdateTime(new Date()); + syncEditLogService.insertLog(syncEditLogEntity); + } + + public void insertType(DeleteBasicDataRequest deleteBasicDataRequest) { + SyncEditTypeEntity syncEditTypeEntity = new SyncEditTypeEntity(); + syncEditTypeEntity.setCode(deleteBasicDataRequest.getDataType()); + syncEditTypeEntity.setName(deleteBasicDataRequest.getName()); + syncEditTypeService.insertType(syncEditTypeEntity); + } + + public BaseResponse deleteById( DeleteRequest deleteRequest) { + + String ids = deleteRequest.getId(); + UdiRelevanceEntity udiRelevanceEntity = udiRelevanceService.selectById(Long.parseLong(ids)); + if (udiRelevanceEntity != null && udiRelevanceEntity.getUuid() != null) { + if (codeService.isExitByRelId(udiRelevanceEntity.getId() + "")) { + return ResultVOUtils.error(500, "该产品已关联单据,无法删除!"); + } + if (companyProductRelevanceService.isExitByRelId(udiRelevanceEntity.getId() + "")) { + return ResultVOUtils.error(500, "该产品已被已被供应商选入,无法删除!"); + } + } + + udiRelevanceService.deleteById(ids); + List udiRelevanceEntities = udiRelevanceService.selectByUuid(udiRelevanceEntity.getUuid()); + if (udiRelevanceEntities == null || udiRelevanceEntities.isEmpty()) { + udiProductService.deleteByUuid(udiRelevanceEntity.getUuid()); + } + return ResultVOUtils.success("删除成功"); + } + + + public BaseResponse deleteCompanyProductRelevance( DeleteCompanyFileRequest deleteCompanyFileRequest) { + boolean b = udiRlSupService.deleteById(deleteCompanyFileRequest.getId()); + return ResultVOUtils.success("成功"); + } + + + public BaseResponse deleteBasicUnitMaintain( DeleteRequest deleteRequest) { + + + String id = deleteRequest.getId(); + BasicCorpEntity basicUnitMaintainEntity = basicUnitMaintainService.selectById(id); + + basicUnitMaintainService.deleteById(id); + + + return ResultVOUtils.success("删除成功"); + } + + + public BaseResponse deleteBussinessType( DeleteRequest deleteRequest) { + +// if (bindingResult.hasErrors()) { +// return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); +// } + String id = deleteRequest.getId(); + BasicBussinessTypeEntity bussinessTypeEntity = basicBussinessTypeService.selectById(id); + + //判断是否存在该单据类型单据 + boolean isExitOrder = orderService.isExitByAction(bussinessTypeEntity.getAction()); + if (isExitOrder) { + return ResultVOUtils.error(500, "已存在该类型扫码单据,无法删除!"); + } + + //判断是否被仓库绑定 + boolean isExitUser = invBusUserService.isExitByAction(bussinessTypeEntity.getAction()); + if (isExitUser) { + return ResultVOUtils.error(500, "该单据类型已被用户绑定,请先移除后删除!"); + } + + //判断是否被用户绑定 + boolean isExitInv = warehouseBussinessTypeService.isExitByAction(bussinessTypeEntity.getAction()); + if (isExitInv) { + return ResultVOUtils.error(500, "该单据类型已被仓库绑定,请先移除后删除!"); + } + + + + return basicBussinessTypeService.deleteBussinessType(id) == true ? ResultVOUtils.success("删除成功") : ResultVOUtils.error(500, "删除失败,系统繁忙"); + } + + +} diff --git a/src/main/java/com/glxp/api/controller/basic/UdiRelevanceController.java b/src/main/java/com/glxp/api/controller/basic/UdiRelevanceController.java index 2298eccc..af3908f5 100644 --- a/src/main/java/com/glxp/api/controller/basic/UdiRelevanceController.java +++ b/src/main/java/com/glxp/api/controller/basic/UdiRelevanceController.java @@ -11,9 +11,12 @@ import com.glxp.api.common.res.BaseResponse; import com.glxp.api.common.util.ResultVOUtils; import com.glxp.api.constant.BusinessType; import com.glxp.api.constant.ConstantStatus; +import com.glxp.api.constant.SocketMsgType; import com.glxp.api.controller.BaseController; +import com.glxp.api.controller.sync.SpsSyncWebSocket; import com.glxp.api.entity.basic.*; import com.glxp.api.entity.inv.InvProductEntity; +import com.glxp.api.entity.sync.SocketMsgEntity; import com.glxp.api.entity.system.SystemParamConfigEntity; import com.glxp.api.entity.thrsys.ThrProductsEntity; import com.glxp.api.entity.thrsys.ThrSystemEntity; @@ -261,34 +264,41 @@ public class UdiRelevanceController extends BaseController { IoCodeService codeService; @Resource CompanyProductRelevanceService companyProductRelevanceService; + @Resource + SpsSyncWebSocket webSocketServer; @AuthRuleAnnotation("") @PostMapping("/udi/udirel/deleteById") @Log(title = "单据管理", businessType = BusinessType.DELETE) - public BaseResponse deleteById(@RequestBody DeleteRequest deleteRequest, BindingResult bindingResult) { + public BaseResponse deleteById(@RequestBody DeleteRequest deleteRequest) { - if (bindingResult.hasErrors()) { - return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); - } String ids = deleteRequest.getId(); UdiRelevanceEntity udiRelevanceEntity = udiRelevanceService.selectById(Long.parseLong(ids)); if (udiRelevanceEntity != null && udiRelevanceEntity.getUuid() != null) { - if (codeService.isExitByRelId(udiRelevanceEntity.getId() + "")) { - return ResultVOUtils.error(500, "该产品已关联单据,无法删除!"); - } - if (companyProductRelevanceService.isExitByRelId(udiRelevanceEntity.getId() + "")) { - return ResultVOUtils.error(500, "该产品已被已被供应商选入,无法删除!"); - } - } - - - udiRelevanceService.deleteById(ids); - List udiRelevanceEntities = udiRelevanceService.selectByUuid(udiRelevanceEntity.getUuid()); - if (udiRelevanceEntities == null || udiRelevanceEntities.isEmpty()) { - udiProductService.deleteByUuid(udiRelevanceEntity.getUuid()); - } - - return ResultVOUtils.success("删除成功"); +// if (codeService.isExitByRelId(udiRelevanceEntity.getId() + "")) { +// return ResultVOUtils.error(500, "该产品已关联单据,无法删除!"); +// } +// if (companyProductRelevanceService.isExitByRelId(udiRelevanceEntity.getId() + "")) { +// return ResultVOUtils.error(500, "该产品已被已被供应商选入,无法删除!"); +// } + } + +// udiRelevanceService.deleteById(ids); +// List udiRelevanceEntities = udiRelevanceService.selectByUuid(udiRelevanceEntity.getUuid()); +// if (udiRelevanceEntities == null || udiRelevanceEntities.isEmpty()) { +// udiProductService.deleteByUuid(udiRelevanceEntity.getUuid()); +// } + + BasicDataRequest basicDataRequest = new BasicDataRequest(); + basicDataRequest.setDeleteRequest(deleteRequest); + Long userId = getUserId(); + basicDataRequest.setKey("BASIC_MAINTAIN"); + //推送 + BasicDataRequest request = webSocketServer.insert(basicDataRequest, userId + ""); + request.setDeleteRequest(deleteRequest); + webSocketServer.sendMessage(SocketMsgEntity.builder().type(SocketMsgType.BASIC_DATA_DELETE).content(request).remark("耗材字典删除").build(), null); + + return ResultVOUtils.success("删除成功"); } @Resource diff --git a/src/main/java/com/glxp/api/controller/basic/UdiRlSupController.java b/src/main/java/com/glxp/api/controller/basic/UdiRlSupController.java index 9e8c5233..cfd851a0 100644 --- a/src/main/java/com/glxp/api/controller/basic/UdiRlSupController.java +++ b/src/main/java/com/glxp/api/controller/basic/UdiRlSupController.java @@ -11,15 +11,15 @@ import com.glxp.api.common.enums.ResultEnum; import com.glxp.api.common.res.BaseResponse; import com.glxp.api.common.util.ResultVOUtils; import com.glxp.api.constant.BusinessType; +import com.glxp.api.constant.SocketMsgType; import com.glxp.api.controller.BaseController; +import com.glxp.api.controller.sync.SpsSyncWebSocket; import com.glxp.api.entity.auth.AuthAdmin; import com.glxp.api.entity.basic.*; +import com.glxp.api.entity.sync.SocketMsgEntity; import com.glxp.api.entity.system.CompanyEntity; import com.glxp.api.exception.JsonException; -import com.glxp.api.req.basic.CompanyProductRelevanceRequest; -import com.glxp.api.req.basic.FilterCompanyProductRelevanceRequest; -import com.glxp.api.req.basic.FilterUdiRelRequest; -import com.glxp.api.req.basic.UdiInfoExportRequest; +import com.glxp.api.req.basic.*; import com.glxp.api.req.system.CompanyRequest; import com.glxp.api.req.system.DeleteCompanyFileRequest; import com.glxp.api.res.PageSimpleResponse; @@ -70,6 +70,8 @@ public class UdiRlSupController extends BaseController { private SupplementVailUtil supplementVailUtil; @Resource private UdiProductService udiProductService; + @Resource + SpsSyncWebSocket webSocketServer; @AuthRuleAnnotation("") @GetMapping("/sale/info/company/product/relevance/filter") @@ -261,8 +263,18 @@ public class UdiRlSupController extends BaseController { @PostMapping("/sale/info/deleteCompanyProductRelevance") @Log(title = "单据管理", businessType = BusinessType.DELETE) - public BaseResponse deleteCompanyProductRelevance(@RequestBody DeleteCompanyFileRequest deleteCompanyFileRequest, BindingResult bindingResult) { + public BaseResponse deleteCompanyProductRelevance(@RequestBody DeleteCompanyFileRequest deleteCompanyFileRequest) { boolean b = udiRlSupService.deleteById(deleteCompanyFileRequest.getId()); + //推送 + BasicDataRequest basicDataRequest = new BasicDataRequest(); + basicDataRequest.setDeleteCompanyFileRequest(deleteCompanyFileRequest); + basicDataRequest.setKey("BASIC_MANAGE"); + Long userId = getUserId(); + BasicDataRequest request = webSocketServer.insert(basicDataRequest, userId + ""); + request.setDeleteCompanyFileRequest(deleteCompanyFileRequest); + + webSocketServer.sendMessage(SocketMsgEntity.builder().type(SocketMsgType.BASIC_MANAGE_DELETE).content(request).remark("入院物资维护").build(), null); + return ResultVOUtils.success("成功"); } diff --git a/src/main/java/com/glxp/api/controller/sync/SpsSyncWebSocket.java b/src/main/java/com/glxp/api/controller/sync/SpsSyncWebSocket.java index d2583662..537c063b 100644 --- a/src/main/java/com/glxp/api/controller/sync/SpsSyncWebSocket.java +++ b/src/main/java/com/glxp/api/controller/sync/SpsSyncWebSocket.java @@ -1,15 +1,28 @@ package com.glxp.api.controller.sync; +import cn.hutool.json.JSONUtil; +import com.alibaba.fastjson2.JSON; +import com.glxp.api.common.res.BaseResponse; import com.glxp.api.entity.sync.SocketMsgEntity; +import com.glxp.api.entity.sync.SyncEditLogEntity; +import com.glxp.api.entity.sync.SyncEditTypeEntity; +import com.glxp.api.req.basic.BasicDataRequest; +import com.glxp.api.req.basic.DeleteBasicDataRequest; +import com.glxp.api.service.CustomService; +import com.glxp.api.service.sync.SyncEditLogService; +import com.glxp.api.service.sync.SyncEditTypeService; import com.glxp.api.util.JsonUtils; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Component; +import javax.annotation.Resource; import javax.websocket.*; import javax.websocket.server.PathParam; import javax.websocket.server.ServerEndpoint; import java.io.IOException; +import java.text.SimpleDateFormat; +import java.util.Date; import java.util.Map; import java.util.concurrent.ConcurrentHashMap; @@ -110,6 +123,71 @@ public class SpsSyncWebSocket { } } + public BasicDataRequest insert( BasicDataRequest basicDataRequest, String userId){ + //日志参数类 + DeleteBasicDataRequest deleteBasicDataRequest = new DeleteBasicDataRequest(); + deleteBasicDataRequest.setRecordCode("DL"+new SimpleDateFormat("yyyyMMddHHmmssSSSS").format(System.currentTimeMillis())); + deleteBasicDataRequest.setUserId(userId); + switch (basicDataRequest.getKey()){ + case "BASIC_MAINTAIN": + deleteBasicDataRequest.setDataType(basicDataRequest.getKey()); + deleteBasicDataRequest.setParam(JSONUtil.toJsonStr(basicDataRequest.getDeleteRequest()) + basicDataRequest.getKey()); + deleteBasicDataRequest.setName("耗材字典维护"); + basicDataRequest.setDeleteBasicDataRequest(deleteBasicDataRequest); + break; + case "BASIC_MANAGE": + deleteBasicDataRequest.setDataType(basicDataRequest.getKey()); + deleteBasicDataRequest.setParam(JSONUtil.toJsonStr(basicDataRequest.getDeleteCompanyFileRequest()) + basicDataRequest.getKey()); + deleteBasicDataRequest.setName("入院物资维护"); + basicDataRequest.setDeleteBasicDataRequest(deleteBasicDataRequest); + break; + case "BASIC_CORP_MAINTAIN": + deleteBasicDataRequest.setDataType(basicDataRequest.getKey()); + deleteBasicDataRequest.setParam(JSONUtil.toJsonStr(basicDataRequest.getDeleteRequest()) + basicDataRequest.getKey()); + deleteBasicDataRequest.setName("供应商字典"); + basicDataRequest.setDeleteBasicDataRequest(deleteBasicDataRequest); + break; + case "BASIC_BUSINESS_TYPE": + deleteBasicDataRequest.setDataType(basicDataRequest.getKey()); + deleteBasicDataRequest.setParam(JSONUtil.toJsonStr(basicDataRequest.getDeleteRequest()) + basicDataRequest.getKey()); + deleteBasicDataRequest.setName("单据类型设置"); + basicDataRequest.setDeleteBasicDataRequest(deleteBasicDataRequest); + break; + default: + break; + } + + //插入日志 + insertLog(deleteBasicDataRequest,userId); + insertType(deleteBasicDataRequest); + return basicDataRequest; + } + @Resource + SyncEditLogService syncEditLogService; + @Resource + SyncEditTypeService syncEditTypeService; + + public void insertLog(DeleteBasicDataRequest deleteBasicDataRequest, String userId){ + SyncEditLogEntity syncEditLogEntity = new SyncEditLogEntity(); + syncEditLogEntity.setRecordCode(deleteBasicDataRequest.getRecordCode()); + syncEditLogEntity.setOperType(2); + syncEditLogEntity.setDataType(deleteBasicDataRequest.getDataType()); + syncEditLogEntity.setUrl(deleteBasicDataRequest.getUrl()); + syncEditLogEntity.setParam(deleteBasicDataRequest.getParam()); + syncEditLogEntity.setJsonResult("success"); + syncEditLogEntity.setDirectType(1); + syncEditLogEntity.setOperUser(userId); + syncEditLogEntity.setUpdateTime(new Date()); + syncEditLogService.insertLog(syncEditLogEntity); + } + + public void insertType(DeleteBasicDataRequest deleteBasicDataRequest){ + SyncEditTypeEntity syncEditTypeEntity = new SyncEditTypeEntity(); + syncEditTypeEntity.setCode(deleteBasicDataRequest.getDataType()); + syncEditTypeEntity.setName(deleteBasicDataRequest.getName()); + syncEditTypeService.insertType(syncEditTypeEntity); + } + /** * 获取在线数 diff --git a/src/main/java/com/glxp/api/entity/sync/SocketMsgEntity.java b/src/main/java/com/glxp/api/entity/sync/SocketMsgEntity.java index 0d9eb9ae..93555090 100644 --- a/src/main/java/com/glxp/api/entity/sync/SocketMsgEntity.java +++ b/src/main/java/com/glxp/api/entity/sync/SocketMsgEntity.java @@ -14,6 +14,6 @@ import lombok.NoArgsConstructor; @NoArgsConstructor public class SocketMsgEntity { private String type; - private String content; + private Object content; private String remark; } diff --git a/src/main/java/com/glxp/api/entity/sync/SyncEditLogEntity.java b/src/main/java/com/glxp/api/entity/sync/SyncEditLogEntity.java index a38e3b0f..20fbdeaa 100644 --- a/src/main/java/com/glxp/api/entity/sync/SyncEditLogEntity.java +++ b/src/main/java/com/glxp/api/entity/sync/SyncEditLogEntity.java @@ -10,82 +10,70 @@ import java.io.Serializable; import java.util.Date; import lombok.Data; -@ApiModel(value="com-glxp-api-entity-sync-SyncEditLog") @Data @TableName(value = "sync_edit_log") public class SyncEditLogEntity implements Serializable { @TableId(value = "id", type = IdType.AUTO) - @ApiModelProperty(value="") private Integer id; /** * 日志记录号 */ @TableField(value = "recordCode") - @ApiModelProperty(value="日志记录号") private String recordCode; /** * 操作类型(1:增;2:删,3:改,4:查) */ @TableField(value = "operType") - @ApiModelProperty(value="操作类型(1:增;2:删,3:改,4:查)") - private Byte operType; + private Integer operType; /** * 操作数据类型 */ @TableField(value = "dataType") - @ApiModelProperty(value="操作数据类型") private String dataType; /** * 接口地址 */ @TableField(value = "url") - @ApiModelProperty(value="接口地址") private String url; /** * 请求参数 */ @TableField(value = "param") - @ApiModelProperty(value="请求参数") private String param; /** * 请求结果 */ @TableField(value = "jsonResult") - @ApiModelProperty(value="请求结果") private String jsonResult; /** * 1:本地操作;2:对方操作 */ @TableField(value = "directType") - @ApiModelProperty(value="1:本地操作;2:对方操作") - private Byte directType; + private Integer directType; /** * 备注说明 */ @TableField(value = "remark") - @ApiModelProperty(value="备注说明") private String remark; /** * 操作人 */ @TableField(value = "operUser") - @ApiModelProperty(value="操作人") private String operUser; /** * 更新时间 */ @TableField(value = "updateTime") - @ApiModelProperty(value="更新时间") private Date updateTime; private static final long serialVersionUID = 1L; diff --git a/src/main/java/com/glxp/api/entity/sync/SyncEditTypeEntity.java b/src/main/java/com/glxp/api/entity/sync/SyncEditTypeEntity.java index e946b97d..b1a071f3 100644 --- a/src/main/java/com/glxp/api/entity/sync/SyncEditTypeEntity.java +++ b/src/main/java/com/glxp/api/entity/sync/SyncEditTypeEntity.java @@ -9,33 +9,28 @@ import io.swagger.annotations.ApiModelProperty; import java.io.Serializable; import lombok.Data; -@ApiModel(value="com-glxp-api-entity-sync-SyncEditType") @Data @TableName(value = "sync_edit_type") public class SyncEditTypeEntity implements Serializable { - @TableId(value = "id", type = IdType.AUTO) - @ApiModelProperty(value="") + @TableId(value = "id", type = IdType.INPUT) private Integer id; /** * 操作类型 */ @TableField(value = "code") - @ApiModelProperty(value="操作类型") private String code; /** * 操作类型名称 */ @TableField(value = "`name`") - @ApiModelProperty(value="操作类型名称") private String name; /** * 备注 */ @TableField(value = "remark") - @ApiModelProperty(value="备注") private String remark; private static final long serialVersionUID = 1L; diff --git a/src/main/java/com/glxp/api/req/basic/BasicDataRequest.java b/src/main/java/com/glxp/api/req/basic/BasicDataRequest.java new file mode 100644 index 00000000..d8aee106 --- /dev/null +++ b/src/main/java/com/glxp/api/req/basic/BasicDataRequest.java @@ -0,0 +1,18 @@ +package com.glxp.api.req.basic; + +import com.glxp.api.req.system.DeleteCompanyFileRequest; +import com.glxp.api.req.system.DeleteRequest; +import lombok.Data; +import org.springframework.validation.BindingResult; + +@Data +public class BasicDataRequest { + //耗材字典 + private DeleteRequest deleteRequest; + //供应商器械信息 + private DeleteCompanyFileRequest deleteCompanyFileRequest; + //日志参数类 + private DeleteBasicDataRequest deleteBasicDataRequest; + private String key; + +} diff --git a/src/main/java/com/glxp/api/req/basic/DeleteBasicDataRequest.java b/src/main/java/com/glxp/api/req/basic/DeleteBasicDataRequest.java new file mode 100644 index 00000000..0a6c47e5 --- /dev/null +++ b/src/main/java/com/glxp/api/req/basic/DeleteBasicDataRequest.java @@ -0,0 +1,16 @@ +package com.glxp.api.req.basic; + +import lombok.Data; + +@Data +public class DeleteBasicDataRequest { + + private String dataType; + private String param; + private String name; + private String recordCode; + private String userId; + private String url; + + +} diff --git a/src/main/java/com/glxp/api/req/system/DeleteRequest.java b/src/main/java/com/glxp/api/req/system/DeleteRequest.java index dc14f613..618e2470 100644 --- a/src/main/java/com/glxp/api/req/system/DeleteRequest.java +++ b/src/main/java/com/glxp/api/req/system/DeleteRequest.java @@ -12,4 +12,5 @@ public class DeleteRequest { String billNo; List billNos; String invoiceEncode; + String userId; } diff --git a/src/main/java/com/glxp/api/service/sync/SyncEditLogService.java b/src/main/java/com/glxp/api/service/sync/SyncEditLogService.java index 58d73e5b..8fbc9682 100644 --- a/src/main/java/com/glxp/api/service/sync/SyncEditLogService.java +++ b/src/main/java/com/glxp/api/service/sync/SyncEditLogService.java @@ -4,9 +4,13 @@ import org.springframework.stereotype.Service; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.glxp.api.entity.sync.SyncEditLogEntity; import com.glxp.api.dao.sync.SyncEditLogMapper; + +import javax.annotation.Resource; + @Service public class SyncEditLogService extends ServiceImpl { - + @Resource + SyncEditLogMapper syncEditLogMapper; public int insertOrUpdate(SyncEditLogEntity record) { return baseMapper.insertOrUpdate(record); @@ -15,4 +19,10 @@ public class SyncEditLogService extends ServiceImpl0; + } + } diff --git a/src/main/java/com/glxp/api/service/sync/SyncEditTypeService.java b/src/main/java/com/glxp/api/service/sync/SyncEditTypeService.java index f63db320..330ffc9b 100644 --- a/src/main/java/com/glxp/api/service/sync/SyncEditTypeService.java +++ b/src/main/java/com/glxp/api/service/sync/SyncEditTypeService.java @@ -4,9 +4,14 @@ import org.springframework.stereotype.Service; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.glxp.api.dao.sync.SyncEditTypeMapper; import com.glxp.api.entity.sync.SyncEditTypeEntity; + +import javax.annotation.Resource; + @Service public class SyncEditTypeService extends ServiceImpl { + @Resource + SyncEditTypeMapper syncEditTypeMapper; public int insertOrUpdate(SyncEditTypeEntity record) { return baseMapper.insertOrUpdate(record); @@ -15,4 +20,10 @@ public class SyncEditTypeService extends ServiceImpl0; + } + }