diff --git a/src/main/java/com/glxp/api/controller/collect/IoCollectLedGroupController.java b/src/main/java/com/glxp/api/controller/collect/IoCollectLedGroupController.java index 7816f429a..9bfceb7f3 100644 --- a/src/main/java/com/glxp/api/controller/collect/IoCollectLedGroupController.java +++ b/src/main/java/com/glxp/api/controller/collect/IoCollectLedGroupController.java @@ -2,13 +2,16 @@ package com.glxp.api.controller.collect; import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.TypeReference; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.github.pagehelper.PageInfo; import com.glxp.api.common.res.BaseResponse; import com.glxp.api.common.util.ResultVOUtils; import com.glxp.api.controller.BaseController; +import com.glxp.api.entity.basic.SysWorkplaceQueue; import com.glxp.api.entity.collect.IoCollectLedGroup; import com.glxp.api.entity.collect.IoCollectOrderBiz; import com.glxp.api.req.basic.BasicCollectUserRequest; +import com.glxp.api.req.collect.CollectLedConfirmRequest; import com.glxp.api.req.collect.CollectLedGroupRequest; import com.glxp.api.req.collect.CollectOrderRequest; import com.glxp.api.res.PageSimpleResponse; @@ -16,8 +19,10 @@ import com.glxp.api.res.basic.UserWorkResponse; import com.glxp.api.res.collect.IoCollectLedGroupResponse; import com.glxp.api.res.collect.IoCollectOrderResponse; import com.glxp.api.res.collect.LedResponse; +import com.glxp.api.service.basic.SysWorkplaceQueueService; import com.glxp.api.service.collect.IoCollectCodeService; import com.glxp.api.service.collect.IoCollectLedGroupService; +import com.glxp.api.service.collect.IoCollectOrderBizService; import com.glxp.api.service.inout.IoSplitCodeService; import lombok.extern.slf4j.Slf4j; import org.springframework.transaction.annotation.Transactional; @@ -57,21 +62,44 @@ public class IoCollectLedGroupController extends BaseController { } + @Resource + IoCollectOrderBizService ioCollectOrderBizService; + @Resource + SysWorkplaceQueueService sysWorkplaceQueueService; -// /** -// * 取货确认 -// * -// * @return -// */ -// @PostMapping("/udiwms/basic/collect/ledGroup/bizConfirm") -// @Transactional(rollbackFor = Exception.class) -// public BaseResponse bizConfirmOrder(@RequestBody String request) { -// LedResponse response = JSONObject.parseObject(request, new TypeReference() {}); -// /** -// * 取货确认 -// */ -//// splitCodeService.confirmBizAutiTagCode(confirmOrderBiz, confirmOrderBiz.getQueueCode()); -// return ResultVOUtils.success("确认成功!"); -// } + /** + * 取货确认 + * + * @return + */ + @PostMapping("/udiwms/basic/collect/ledGroup/bizConfirm") + @Transactional(rollbackFor = Exception.class) + public BaseResponse bizConfirmOrder(@RequestBody CollectLedConfirmRequest ledConfirmRequest) { + /** + * 取货确认 + */ + Integer ledNum = ledConfirmRequest.getLednum(); + String mac = ledConfirmRequest.getMac(); + IoCollectLedGroup collectLedGroup = ioCollectLedGroupService.getOne(new LambdaQueryWrapper().eq(IoCollectLedGroup::getMac, mac), false); + SysWorkplaceQueue sysWorkplaceQueue = sysWorkplaceQueueService.getOne(new LambdaQueryWrapper().eq(SysWorkplaceQueue::getMac, mac)); + Long bizId = 0L; + if (ledNum == 1) { + bizId = collectLedGroup.getRed(); + collectLedGroup.setRed(0l); + } else if (ledNum == 2) { + bizId = collectLedGroup.getOrange(); + collectLedGroup.setOrange(0l); + } else if (ledNum == 3) { + bizId = collectLedGroup.getBlue(); + collectLedGroup.setBlue(0l); + } else if (ledNum == 4) { + bizId = collectLedGroup.getGreen(); + collectLedGroup.setGreen(0l); + } + ioCollectLedGroupService.updateById(collectLedGroup); + IoCollectOrderBiz collectOrderBiz = ioCollectOrderBizService.getById(bizId); + splitCodeService.confirmBizAutiTagCode(collectOrderBiz, sysWorkplaceQueue.getCode()); + return ResultVOUtils.success("确认成功!"); + } } diff --git a/src/main/java/com/glxp/api/controller/inout/IoSplitController.java b/src/main/java/com/glxp/api/controller/inout/IoSplitController.java index 26e361969..76c932325 100644 --- a/src/main/java/com/glxp/api/controller/inout/IoSplitController.java +++ b/src/main/java/com/glxp/api/controller/inout/IoSplitController.java @@ -143,7 +143,7 @@ public class IoSplitController extends BaseController { if (IntUtil.value(sysWorkplaceDocumentEntity.getAutoTag()) == 1) { collectOrder.setWorkPlaceCode(addTagCodeReqeust.getWorkPlaceCode()); //todo 后面改 - splitCodeService.preAutoTagCode(collectOrder,null); + splitCodeService.preAutoTagCode(collectOrder, null); collectOrderService.updateById(collectOrder); return ResultVOUtils.success("后台已开始赋码,请稍后刷新查看"); } else { diff --git a/src/main/java/com/glxp/api/entity/basic/SysWorkplaceQueue.java b/src/main/java/com/glxp/api/entity/basic/SysWorkplaceQueue.java index 6bf6f9b53..1ecc82188 100644 --- a/src/main/java/com/glxp/api/entity/basic/SysWorkplaceQueue.java +++ b/src/main/java/com/glxp/api/entity/basic/SysWorkplaceQueue.java @@ -87,7 +87,6 @@ public class SysWorkplaceQueue implements Serializable { private Integer grid; - @TableField(exist = false) private String labelId; diff --git a/src/main/java/com/glxp/api/entity/collect/IoCollectLedGroup.java b/src/main/java/com/glxp/api/entity/collect/IoCollectLedGroup.java index 1bdeb1f58..fc944a75f 100644 --- a/src/main/java/com/glxp/api/entity/collect/IoCollectLedGroup.java +++ b/src/main/java/com/glxp/api/entity/collect/IoCollectLedGroup.java @@ -5,8 +5,10 @@ import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; + import java.io.Serializable; import java.util.Date; + import lombok.Data; @@ -38,28 +40,28 @@ public class IoCollectLedGroup implements Serializable { */ @TableField(value = "red") @ApiModelProperty(value = "红灯") - private Boolean red; + private Long red; /** * 橘灯 */ @TableField(value = "orange") @ApiModelProperty(value = "橘灯") - private Boolean orange; + private Long orange; /** * 蓝色 */ @TableField(value = "blue") @ApiModelProperty(value = "蓝色") - private Boolean blue; + private Long blue; /** * 绿色 */ @TableField(value = "green") @ApiModelProperty(value = "绿色") - private Boolean green; + private Long green; /** * 备注 diff --git a/src/main/java/com/glxp/api/req/collect/CollectLedConfirmRequest.java b/src/main/java/com/glxp/api/req/collect/CollectLedConfirmRequest.java new file mode 100644 index 000000000..fae8ebbcb --- /dev/null +++ b/src/main/java/com/glxp/api/req/collect/CollectLedConfirmRequest.java @@ -0,0 +1,18 @@ +package com.glxp.api.req.collect; + +import lombok.Data; + +/** + * @author AnthonyYwj + * @date 2024/12/31 + */ +@Data +public class CollectLedConfirmRequest { + + + private String mac; + private Integer lednum; + private Integer result; + + +} diff --git a/src/main/java/com/glxp/api/service/collect/IoCollectLedGroupService.java b/src/main/java/com/glxp/api/service/collect/IoCollectLedGroupService.java index cefb32940..22ea5f8a5 100644 --- a/src/main/java/com/glxp/api/service/collect/IoCollectLedGroupService.java +++ b/src/main/java/com/glxp/api/service/collect/IoCollectLedGroupService.java @@ -8,6 +8,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.github.pagehelper.PageHelper; import com.glxp.api.common.res.BaseResponse; import com.glxp.api.dao.collect.IoCollectLedGroupMapper; +import com.glxp.api.entity.basic.SysWorkplaceQueue; import com.glxp.api.entity.collect.IoCollectLedGroup; import com.glxp.api.entity.collect.IoCollectOrderBiz; import com.glxp.api.entity.thrsys.CodeRel; @@ -16,6 +17,8 @@ import com.glxp.api.exception.JsonException; import com.glxp.api.req.collect.CollectLedGroupRequest; import com.glxp.api.req.collect.LedGroupRequest; import com.glxp.api.res.collect.IoCollectLedGroupResponse; +import com.glxp.api.service.basic.SysWorkplaceQueueService; +import com.glxp.api.util.IntUtil; import com.glxp.api.util.OkHttpCli; import org.springframework.stereotype.Service; @@ -51,27 +54,46 @@ public class IoCollectLedGroupService extends ServiceImpl openLed(List collectOrderBizs) { LedGroupRequest ledGroupRequest = new LedGroupRequest(); - for (IoCollectOrderBiz collectOrderBiz : collectOrderBizs){ - IoCollectLedGroup one = getOne(new LambdaQueryWrapper().eq(IoCollectLedGroup::getRelId, collectOrderBiz.getRelId())); - if (one == null){ - throw new JsonException(500,"当前产品未绑定灯组"); + for (IoCollectOrderBiz collectOrderBiz : collectOrderBizs) { + + SysWorkplaceQueue sysWorkplaceQueue = sysWorkplaceQueueService.getOne(new LambdaQueryWrapper().eq(SysWorkplaceQueue::getRelId, collectOrderBiz.getRelId()).last("limit 1")); + if (sysWorkplaceQueue == null) { + continue; + } + IoCollectLedGroup + one = getOne(new LambdaQueryWrapper().eq(IoCollectLedGroup::getMac, sysWorkplaceQueue.getMac())); + if (one == null) { + continue; } CollectLedGroupRequest collectLedGroupRequest = new CollectLedGroupRequest(); collectLedGroupRequest.setMac(one.getMac()); collectLedGroupRequest.setTimeout(one.getTimeout()); - if (one.getLedMode()){ - collectLedGroupRequest.setLedmode(1); - }else { - collectLedGroupRequest.setLedmode(0); - } + collectLedGroupRequest.setLedmode(1); collectLedGroupRequest.setLednum(setLedNum(one)); + if (collectLedGroupRequest.getLednum() == 1) { + one.setRed(collectOrderBiz.getId()); + } else if (collectLedGroupRequest.getLednum() == 2) { + one.setOrange(collectOrderBiz.getId()); + } else if (collectLedGroupRequest.getLednum() == 3) { + one.setBlue(collectOrderBiz.getId()); + } else if (collectLedGroupRequest.getLednum() == 4) { + one.setGreen(collectOrderBiz.getId()); + } + + ledGroupRequest.getData().add(collectLedGroupRequest); + updateById(one); } + +// http://192.168.0.166:9099/wms/associate/lighttagsled String json = JSONUtil.toJsonStr(ledGroupRequest); - String result = okHttpCli.doPostJson( "http://192.168.0.166:9099/wms/associate/lighttagsled", json); + log.error("json:{}" + json); + String result = okHttpCli.doPostJson("http://192.168.0.166:9099/wms/associate/lighttagsled", json); BaseResponse response = JSONObject.parseObject(result, new TypeReference>() { }); @@ -79,15 +101,19 @@ public class IoCollectLedGroupService extends ServiceImpl udiRelevanceResponses = udiRelevanceService.selectGroupByNameCode(udiEntity.getUdi(), null); - if (CollUtil.isEmpty(udiRelevanceResponses)) throw new JsonException(500, "耗材字典不存在此产品!"); + if (CollUtil.isEmpty(udiRelevanceResponses)) throw new JsonException(500, "产品字典不存在此产品!"); else udiRelevanceResponse = udiRelevanceResponses.get(0); //判断层级标识是否正确 if (IntUtil.value(sysWorkplaceDocumentEntity.getOrderCirType()) == 2) { @@ -186,12 +186,12 @@ public class IoCollectOrderCodeManService extends ServiceImpl() .eq(IoCollectCodeBackup::getCode, code) .eq(IoCollectCodeBackup::getPurType, udiRelevanceResponse.getPurType())); if (collectCodeBackup == null) { - String PurTypeName = udiRelevanceResponse.getPurType() == 2 ? "预验收" : "寄售"; + String PurTypeName = IntUtil.value(udiRelevanceResponse.getPurType()) == 2 ? "预验收" : "寄售"; throw new JsonException(500, "当前产品追溯码未进入" + PurTypeName + "库"); } } diff --git a/src/main/java/com/glxp/api/service/inout/IoSplitQxService.java b/src/main/java/com/glxp/api/service/inout/IoSplitQxService.java index b6c6583eb..72af49411 100644 --- a/src/main/java/com/glxp/api/service/inout/IoSplitQxService.java +++ b/src/main/java/com/glxp/api/service/inout/IoSplitQxService.java @@ -459,7 +459,7 @@ public class IoSplitQxService { collectOrderCode.setRemainCount(collectOrderCode.getScanActCount()); } newList.add(collectOrderCode); - } else { + } else { count = count + collectOrderCode.getScanActCount(); if (!IntUtil.value(collectOrderCode.getRemoveFlag())) { if (count > collectOrderBiz.getCount()) { diff --git a/src/main/java/com/glxp/api/task/AsyncIoCollectOrderDownloadTask.java b/src/main/java/com/glxp/api/task/AsyncIoCollectOrderDownloadTask.java index 704cf514d..efac07769 100644 --- a/src/main/java/com/glxp/api/task/AsyncIoCollectOrderDownloadTask.java +++ b/src/main/java/com/glxp/api/task/AsyncIoCollectOrderDownloadTask.java @@ -103,6 +103,6 @@ public class AsyncIoCollectOrderDownloadTask implements SchedulingConfigurer { }); - } +} } diff --git a/src/main/resources/application-dev.yml b/src/main/resources/application-dev.yml index 550f24925..2da350c4d 100644 --- a/src/main/resources/application-dev.yml +++ b/src/main/resources/application-dev.yml @@ -4,7 +4,7 @@ server: spring: datasource: driver-class-name: com.p6spy.engine.spy.P6SpyDriver - jdbc-url: jdbc:p6spy:mysql://127.0.0.1:3306/udi_wms?allowMultiQueries=true&serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&allowPublicKeyRetrieval=true + jdbc-url: jdbc:p6spy:mysql://127.0.0.1:3306/udi_wms_hlfy_pro?allowMultiQueries=true&serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&allowPublicKeyRetrieval=true username: root password: 123456 hikari: diff --git a/src/main/resources/schemas/schema_v2.4.sql b/src/main/resources/schemas/schema_v2.4.sql index 4dd340d03..227459d96 100644 --- a/src/main/resources/schemas/schema_v2.4.sql +++ b/src/main/resources/schemas/schema_v2.4.sql @@ -5069,9 +5069,9 @@ CALL Pro_Temp_ColumnWork('io_collect_order_biz_origin', 'checkCode', # CALL Pro_Temp_ColumnWork('io_split_code', 'ybbm', # 'varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT ''套编码/医保编码/术士套包编码''', # 1); -# CALL Pro_Temp_ColumnWork('io_split_fifo_code', 'ybbm', -# 'varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT ''套编码/医保编码/术士套包编码''', -# 1); +CALL Pro_Temp_ColumnWork('sys_workplace_queue', 'mac', + 'varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT ''灯组MAC地址''', + 1); CREATE TABLE IF NOT EXISTS `io_collect_led_group`