From e09b66a6f15ac9271febf90ae6cc6a70b59ea96e Mon Sep 17 00:00:00 2001 From: liyongde <1419499670@qq.com> Date: Wed, 19 Jul 2023 11:10:30 +0800 Subject: [PATCH] =?UTF-8?q?add:=20=E5=A4=96=E9=83=A8=E6=8E=A5=E5=8F=A3?= =?UTF-8?q?=E4=BA=A4=E4=BA=92=E8=AE=B0=E5=BD=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lms/nladmin-system/doc/wms.xls | Bin 309248 -> 348160 bytes .../controller/AcsToWmsController.java | 4 +- .../{ => acs}/service/AcsToWmsService.java | 4 +- .../{ => acs}/service/WmsToAcsService.java | 2 +- .../service/dto/ApplyTaskRequest.java | 2 +- .../{ => acs}/service/dto/BaseRequest.java | 2 +- .../wms/ext/acs/service/dto/BrickInfoDto.java | 42 ++++ .../{ => acs}/service/dto/GrabRequest.java | 2 +- .../{ => acs}/service/dto/PalletizeDto.java | 2 +- .../service/impl/AcsToWmsServiceImpl.java | 43 ++-- .../service/impl/WmsToAcsServiceImpl.java | 4 +- .../service/vo/ApplyTaskResponse.java | 2 +- .../{ => acs}/service/vo/BaseResponse.java | 2 +- .../{ => acs}/service/vo/GrabResponse.java | 2 +- .../{ => acs}/service/vo/StandResponse.java | 2 +- .../SysInteractRecordController.java | 66 +++++++ .../service/ISysInteractRecordService.java | 50 +++++ .../record/service/dao/SysInteractRecord.java | 52 +++++ .../dao/mapper/SysInteractRecordMapper.java | 12 ++ .../dao/mapper/SysInteractRecordMapper.xml | 5 + .../service/dto/SysInteractRecordDto.java | 40 ++++ .../service/dto/SysInteractRecordQuery.java | 12 ++ .../impl/SysInteractRecordServiceImpl.java | 82 ++++++++ .../sch/task/service/ISchBaseTaskService.java | 3 +- .../sch/task_manage/GeneralDefinition.java | 9 + .../src/views/wms/ext/record/index.vue | 186 ++++++++++++++++++ .../views/wms/ext/record/sysInteractRecord.js | 27 +++ 27 files changed, 631 insertions(+), 28 deletions(-) rename lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/{ => acs}/controller/AcsToWmsController.java (96%) rename lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/{ => acs}/service/AcsToWmsService.java (84%) rename lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/{ => acs}/service/WmsToAcsService.java (75%) rename lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/{ => acs}/service/dto/ApplyTaskRequest.java (92%) rename lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/{ => acs}/service/dto/BaseRequest.java (96%) create mode 100644 lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/acs/service/dto/BrickInfoDto.java rename lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/{ => acs}/service/dto/GrabRequest.java (96%) rename lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/{ => acs}/service/dto/PalletizeDto.java (98%) rename lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/{ => acs}/service/impl/AcsToWmsServiceImpl.java (91%) rename lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/{ => acs}/service/impl/WmsToAcsServiceImpl.java (70%) rename lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/{ => acs}/service/vo/ApplyTaskResponse.java (92%) rename lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/{ => acs}/service/vo/BaseResponse.java (98%) rename lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/{ => acs}/service/vo/GrabResponse.java (57%) rename lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/{ => acs}/service/vo/StandResponse.java (91%) create mode 100644 lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/record/controller/SysInteractRecordController.java create mode 100644 lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/record/service/ISysInteractRecordService.java create mode 100644 lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/record/service/dao/SysInteractRecord.java create mode 100644 lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/record/service/dao/mapper/SysInteractRecordMapper.java create mode 100644 lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/record/service/dao/mapper/SysInteractRecordMapper.xml create mode 100644 lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/record/service/dto/SysInteractRecordDto.java create mode 100644 lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/record/service/dto/SysInteractRecordQuery.java create mode 100644 lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/record/service/impl/SysInteractRecordServiceImpl.java create mode 100644 lms/nladmin-ui/src/views/wms/ext/record/index.vue create mode 100644 lms/nladmin-ui/src/views/wms/ext/record/sysInteractRecord.js diff --git a/lms/nladmin-system/doc/wms.xls b/lms/nladmin-system/doc/wms.xls index 5d5a54fabbcc3f571674c4c12a9297b6fb1bf5f4..dc4148865f9751af1ffcd509348a2577acde5bfb 100644 GIT binary patch delta 47537 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%0DYQH?xsHn+-`Vtz$CtKYF#`9?LCZh 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 delta 14890 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 .eq(PdmBdWorkorder::getPoint_code, parentPointCode) .eq(PdmBdWorkorder::getWorkorder_status, WorkOrderStatusEnum.PRODUCING.getCode()) .eq(PdmBdWorkorder::getIs_delete, false)); + if (ObjectUtil.isEmpty(workOrder)) { + return BaseResponse.responseError(requestNo, "工单不存在!"); + } // 获取原材料物料 PdmBdRequestMaterialRecord requestMaterialRecord = new PdmBdRequestMaterialRecord(); requestMaterialRecord.setRecord_id(IdUtil.getSnowflake(1,1).nextIdStr()); @@ -375,7 +393,7 @@ public class AcsToWmsServiceImpl implements AcsToWmsService { return BaseResponse.responseError(requestNo, "设备编码不能为空"); } // move - String move = param.getString("move") + 1; + String move = (param.getInteger("move") + 1) + ""; // 找到点位 SchBasePoint schBasePoint = pointService.getById(deviceCode); if (ObjectUtil.isEmpty(schBasePoint)) { @@ -383,11 +401,12 @@ public class AcsToWmsServiceImpl implements AcsToWmsService { } String pointStatus = ObjectUtil.isNotEmpty(schBasePoint.getPoint_status()) ? schBasePoint.getPoint_status() - : "1"; - if ((pointStatus.equals("3") && move.equals("2")) || (pointStatus.equals(move))) { // 不做操作 + : PointStatusEnum.EMPTY_POINT.getCode(); + if ((pointStatus.equals(PointStatusEnum.FULL_POINT.getCode()) + && move.equals(PointStatusEnum.EMPTY_VEHICLE.getCode())) || (pointStatus.equals(move))) { // 不做操作 return BaseResponse.responseOk(requestNo); } - schBasePoint.setPoint_status(move.toString()); + schBasePoint.setPoint_status(move); PointUtils.setUpdateByAcs(schBasePoint); pointService.updateById(schBasePoint); return BaseResponse.responseOk(requestNo); diff --git a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/service/impl/WmsToAcsServiceImpl.java b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/acs/service/impl/WmsToAcsServiceImpl.java similarity index 70% rename from lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/service/impl/WmsToAcsServiceImpl.java rename to lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/acs/service/impl/WmsToAcsServiceImpl.java index 523fe2a..87d87cb 100644 --- a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/service/impl/WmsToAcsServiceImpl.java +++ b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/acs/service/impl/WmsToAcsServiceImpl.java @@ -1,7 +1,7 @@ -package org.nl.wms.ext.service.impl; +package org.nl.wms.ext.acs.service.impl; import lombok.extern.slf4j.Slf4j; -import org.nl.wms.ext.service.WmsToAcsService; +import org.nl.wms.ext.acs.service.WmsToAcsService; import org.springframework.stereotype.Service; /** diff --git a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/service/vo/ApplyTaskResponse.java b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/acs/service/vo/ApplyTaskResponse.java similarity index 92% rename from lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/service/vo/ApplyTaskResponse.java rename to lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/acs/service/vo/ApplyTaskResponse.java index e131efb..14e2f6b 100644 --- a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/service/vo/ApplyTaskResponse.java +++ b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/acs/service/vo/ApplyTaskResponse.java @@ -1,4 +1,4 @@ -package org.nl.wms.ext.service.vo; +package org.nl.wms.ext.acs.service.vo; import cn.hutool.core.date.DateUtil; import cn.hutool.http.HttpStatus; diff --git a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/service/vo/BaseResponse.java b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/acs/service/vo/BaseResponse.java similarity index 98% rename from lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/service/vo/BaseResponse.java rename to lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/acs/service/vo/BaseResponse.java index dc06404..71db999 100644 --- a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/service/vo/BaseResponse.java +++ b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/acs/service/vo/BaseResponse.java @@ -1,4 +1,4 @@ -package org.nl.wms.ext.service.vo; +package org.nl.wms.ext.acs.service.vo; import cn.hutool.core.date.DateUtil; import cn.hutool.http.HttpStatus; diff --git a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/service/vo/GrabResponse.java b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/acs/service/vo/GrabResponse.java similarity index 57% rename from lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/service/vo/GrabResponse.java rename to lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/acs/service/vo/GrabResponse.java index 83804fa..b853921 100644 --- a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/service/vo/GrabResponse.java +++ b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/acs/service/vo/GrabResponse.java @@ -1,4 +1,4 @@ -package org.nl.wms.ext.service.vo; +package org.nl.wms.ext.acs.service.vo; public class GrabResponse extends BaseResponse { } diff --git a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/service/vo/StandResponse.java b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/acs/service/vo/StandResponse.java similarity index 91% rename from lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/service/vo/StandResponse.java rename to lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/acs/service/vo/StandResponse.java index 416fa8c..1bd177b 100644 --- a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/service/vo/StandResponse.java +++ b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/acs/service/vo/StandResponse.java @@ -1,4 +1,4 @@ -package org.nl.wms.ext.service.vo; +package org.nl.wms.ext.acs.service.vo; import cn.hutool.core.date.DateUtil; import cn.hutool.http.HttpStatus; diff --git a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/record/controller/SysInteractRecordController.java b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/record/controller/SysInteractRecordController.java new file mode 100644 index 0000000..c1e0931 --- /dev/null +++ b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/record/controller/SysInteractRecordController.java @@ -0,0 +1,66 @@ +package org.nl.wms.ext.record.controller; + +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.nl.common.base.TableDataInfo; +import org.nl.common.domain.query.PageQuery; +import org.nl.common.logging.annotation.Log; +import org.nl.wms.ext.record.service.ISysInteractRecordService; +import org.nl.wms.ext.record.service.dao.SysInteractRecord; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.http.HttpStatus; +import org.springframework.http.ResponseEntity; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import java.util.Map; +import java.util.Set; +/** +* @author lyd +* @date 2023-07-19 +**/ +@Slf4j +@RestController +@Api(tags = "外部系统接口记录管理") +@RequestMapping("/api/sysInteractRecord") +public class SysInteractRecordController { + + @Autowired + private ISysInteractRecordService sysInteractRecordService; + + @GetMapping + @Log("查询外部系统接口记录") + @ApiOperation("查询外部系统接口记录") + //@SaCheckPermission("@el.check('sysInteractRecord:list')") + public ResponseEntity query(@RequestParam Map whereJson, PageQuery page){ + return new ResponseEntity<>(TableDataInfo.build(sysInteractRecordService.queryAll(whereJson,page)),HttpStatus.OK); + } + + @PostMapping + @Log("新增外部系统接口记录") + @ApiOperation("新增外部系统接口记录") + //@SaCheckPermission("@el.check('sysInteractRecord:add')") + public ResponseEntity create(@Validated @RequestBody SysInteractRecord entity){ + sysInteractRecordService.create(entity); + return new ResponseEntity<>(HttpStatus.CREATED); + } + + @PutMapping + @Log("修改外部系统接口记录") + @ApiOperation("修改外部系统接口记录") + //@SaCheckPermission("@el.check('sysInteractRecord:edit')") + public ResponseEntity update(@Validated @RequestBody SysInteractRecord entity){ + sysInteractRecordService.update(entity); + return new ResponseEntity<>(HttpStatus.NO_CONTENT); + } + + @Log("删除外部系统接口记录") + @ApiOperation("删除外部系统接口记录") + //@SaCheckPermission("@el.check('sysInteractRecord:del')") + @DeleteMapping + public ResponseEntity delete(@RequestBody Set ids) { + sysInteractRecordService.deleteAll(ids); + return new ResponseEntity<>(HttpStatus.OK); + } +} diff --git a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/record/service/ISysInteractRecordService.java b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/record/service/ISysInteractRecordService.java new file mode 100644 index 0000000..fcebdf9 --- /dev/null +++ b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/record/service/ISysInteractRecordService.java @@ -0,0 +1,50 @@ +package org.nl.wms.ext.record.service; + +import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.core.metadata.IPage; +import org.nl.common.domain.query.PageQuery; +import com.baomidou.mybatisplus.extension.service.IService; +import org.nl.wms.ext.acs.service.vo.BaseResponse; +import org.nl.wms.ext.record.service.dao.SysInteractRecord; + +import java.util.Map; +import java.util.Set; + +/** +* @description 服务接口 +* @author lyd +* @date 2023-07-19 +**/ +public interface ISysInteractRecordService extends IService { + + /** + * 查询数据分页 + * @param whereJson 条件 + * @param pageable 分页参数 + * @return IPage + */ + IPage queryAll(Map whereJson, PageQuery pageable); + + /** + * 创建 + * @param entity / + */ + void create(SysInteractRecord entity); + + /** + * 编辑 + * @param entity / + */ + void update(SysInteractRecord entity); + + /** + * 多选删除 + * @param ids / + */ + void deleteAll(Set ids); + + /** + * 创建记录 + */ + void saveRecord(JSONObject param, BaseResponse response, String direction); +} diff --git a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/record/service/dao/SysInteractRecord.java b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/record/service/dao/SysInteractRecord.java new file mode 100644 index 0000000..9bcb4f7 --- /dev/null +++ b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/record/service/dao/SysInteractRecord.java @@ -0,0 +1,52 @@ +package org.nl.wms.ext.record.service.dao; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.io.Serializable; + +/** +* @description / +* @author lyd +* @date 2023-07-19 +**/ +@Data +@EqualsAndHashCode(callSuper = false) +@TableName("sys_interact_record") +public class SysInteractRecord implements Serializable { + + private static final long serialVersionUID = 1L; + + @TableId(value = "interact_id", type = IdType.NONE) + @ApiModelProperty(value = "对接标识") + private String interact_id; + + @ApiModelProperty(value = "对接编码") + private String interact_code; + + @ApiModelProperty(value = "响应编码") + private int code; + + @ApiModelProperty(value = "响应信息") + private String message; + + @ApiModelProperty(value = "请求报文") + private String request_param; + + @ApiModelProperty(value = "响应结果") + private String response_param; + + @ApiModelProperty(value = "记录时间") + private String record_time; + + @ApiModelProperty(value = "方向") + private String direction; + + @ApiModelProperty(value = "是否成功") + private Boolean is_success; + +} diff --git a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/record/service/dao/mapper/SysInteractRecordMapper.java b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/record/service/dao/mapper/SysInteractRecordMapper.java new file mode 100644 index 0000000..c7d1a0d --- /dev/null +++ b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/record/service/dao/mapper/SysInteractRecordMapper.java @@ -0,0 +1,12 @@ +package org.nl.wms.ext.record.service.dao.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.nl.wms.ext.record.service.dao.SysInteractRecord; + +/** +* @author lyd +* @date 2023-07-19 +**/ +public interface SysInteractRecordMapper extends BaseMapper { + +} diff --git a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/record/service/dao/mapper/SysInteractRecordMapper.xml b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/record/service/dao/mapper/SysInteractRecordMapper.xml new file mode 100644 index 0000000..55417d8 --- /dev/null +++ b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/record/service/dao/mapper/SysInteractRecordMapper.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/record/service/dto/SysInteractRecordDto.java b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/record/service/dto/SysInteractRecordDto.java new file mode 100644 index 0000000..3939677 --- /dev/null +++ b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/record/service/dto/SysInteractRecordDto.java @@ -0,0 +1,40 @@ +package org.nl.wms.ext.record.service.dto; + +import lombok.Data; +import java.io.Serializable; + +/** +* @description / +* @author lyd +* @date 2023-07-19 +**/ +@Data +public class SysInteractRecordDto implements Serializable { + + /** 对接标识 */ + private String interact_id; + + /** 对接编码 */ + private String interact_code; + + /** 响应编码 */ + private String code; + + /** 响应信息 */ + private String message; + + /** 请求报文 */ + private String request_param; + + /** 响应结果 */ + private String response_param; + + /** 记录时间 */ + private String record_time; + + /** 方向 */ + private String direction; + + /** 是否成功 */ + private Boolean is_success; +} diff --git a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/record/service/dto/SysInteractRecordQuery.java b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/record/service/dto/SysInteractRecordQuery.java new file mode 100644 index 0000000..3222808 --- /dev/null +++ b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/record/service/dto/SysInteractRecordQuery.java @@ -0,0 +1,12 @@ +package org.nl.wms.ext.record.service.dto; + +import org.nl.common.domain.query.BaseQuery; +import org.nl.wms.ext.record.service.dao.SysInteractRecord; + +/** +* @author lyd +* @date 2023-07-19 +**/ +public class SysInteractRecordQuery extends BaseQuery { + +} diff --git a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/record/service/impl/SysInteractRecordServiceImpl.java b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/record/service/impl/SysInteractRecordServiceImpl.java new file mode 100644 index 0000000..4ee8240 --- /dev/null +++ b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/record/service/impl/SysInteractRecordServiceImpl.java @@ -0,0 +1,82 @@ +package org.nl.wms.ext.record.service.impl; + +import cn.hutool.core.date.DateUtil; +import cn.hutool.core.util.IdUtil; +import cn.hutool.http.HttpStatus; +import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.nl.common.domain.query.PageQuery; +import org.nl.common.exception.BadRequestException; +import org.nl.common.utils.SecurityUtils; +import org.nl.wms.ext.acs.service.vo.BaseResponse; +import org.nl.wms.ext.record.service.ISysInteractRecordService; +import org.nl.wms.ext.record.service.dao.mapper.SysInteractRecordMapper; +import org.nl.wms.ext.record.service.dao.SysInteractRecord; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.Map; +import java.util.Set; + +/** +* @description 服务实现 +* @author lyd +* @date 2023-07-19 +**/ +@Slf4j +@Service +public class SysInteractRecordServiceImpl extends ServiceImpl implements ISysInteractRecordService { + + @Autowired + private SysInteractRecordMapper sysInteractRecordMapper; + + @Override + public IPage queryAll(Map whereJson, PageQuery page){ + LambdaQueryWrapper lam = new LambdaQueryWrapper<>(); + lam.orderByDesc(SysInteractRecord::getRecord_time); + IPage pages = new Page<>(page.getPage() + 1, page.getSize()); + sysInteractRecordMapper.selectPage(pages, lam); + return pages; + } + + @Override + public void create(SysInteractRecord entity) { + + entity.setInteract_id(IdUtil.getSnowflake(1, 1).nextIdStr()); + sysInteractRecordMapper.insert(entity); + } + + @Override + public void update(SysInteractRecord entity) { + SysInteractRecord dto = sysInteractRecordMapper.selectById(entity.getInteract_id()); + if (dto == null) throw new BadRequestException("被删除或无权限,操作失败!"); + sysInteractRecordMapper.updateById(entity); + } + + @Override + public void deleteAll(Set ids) { + // 真删除 + sysInteractRecordMapper.deleteBatchIds(ids); + } + + @Override + public void saveRecord(JSONObject param, BaseResponse response, String direction) { + SysInteractRecord entity = new SysInteractRecord(); + entity.setInteract_id(IdUtil.getSnowflake(1, 1).nextIdStr()); + entity.setInteract_code(response.getRequestNo()); + entity.setCode(response.getCode()); + entity.setMessage(response.getMessage()); + entity.setRecord_time(DateUtil.now()); + entity.setDirection(direction); + entity.setRequest_param(JSONObject.toJSONString(param)); + entity.setResponse_param(JSONObject.toJSONString(response)); + entity.setIs_success(response.getCode() == HttpStatus.HTTP_OK); + sysInteractRecordMapper.insert(entity); + } + +} diff --git a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task/service/ISchBaseTaskService.java b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task/service/ISchBaseTaskService.java index 92f10f7..89a25e0 100644 --- a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task/service/ISchBaseTaskService.java +++ b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task/service/ISchBaseTaskService.java @@ -5,6 +5,7 @@ import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.metadata.IPage; import org.nl.common.domain.query.PageQuery; import com.baomidou.mybatisplus.extension.service.IService; +import org.nl.wms.ext.acs.service.dto.BaseRequest; import org.nl.wms.sch.task.service.dao.SchBaseTask; import org.nl.wms.sch.task_manage.task.core.TaskStatus; @@ -82,7 +83,7 @@ public interface ISchBaseTaskService extends IService { /** * 任务申请 - * @see org.nl.wms.ext.service.dto.BaseRequest + * @see BaseRequest * @param param / */ void apply(JSONObject param); diff --git a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/GeneralDefinition.java b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/GeneralDefinition.java index 418b7c7..adb02d0 100644 --- a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/GeneralDefinition.java +++ b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/GeneralDefinition.java @@ -33,4 +33,13 @@ public class GeneralDefinition { public static final String AUTO_CREATION = "1"; /**ACS创建**/ public static final String ACS_CREATION = "2"; + // 请求方向 + /**ACS->LMS**/ + public static final String ACS_LMS = "1"; + /**LMS->ACS**/ + public static final String LMS_ACS = "2"; + /**MES->LMS**/ + public static final String MES_LMS = "3"; + /**LMS->MES**/ + public static final String LMS_LMS = "4"; } diff --git a/lms/nladmin-ui/src/views/wms/ext/record/index.vue b/lms/nladmin-ui/src/views/wms/ext/record/index.vue new file mode 100644 index 0000000..320cdb1 --- /dev/null +++ b/lms/nladmin-ui/src/views/wms/ext/record/index.vue @@ -0,0 +1,186 @@ + + + + + diff --git a/lms/nladmin-ui/src/views/wms/ext/record/sysInteractRecord.js b/lms/nladmin-ui/src/views/wms/ext/record/sysInteractRecord.js new file mode 100644 index 0000000..9f6d776 --- /dev/null +++ b/lms/nladmin-ui/src/views/wms/ext/record/sysInteractRecord.js @@ -0,0 +1,27 @@ +import request from '@/utils/request' + +export function add(data) { + return request({ + url: 'api/sysInteractRecord', + method: 'post', + data + }) +} + +export function del(ids) { + return request({ + url: 'api/sysInteractRecord/', + method: 'delete', + data: ids + }) +} + +export function edit(data) { + return request({ + url: 'api/sysInteractRecord', + method: 'put', + data + }) +} + +export default { add, edit, del }