diff --git a/src/main/java/com/glxp/udi/admin/constant/ConstantStatus.java b/src/main/java/com/glxp/udi/admin/constant/ConstantStatus.java index ab732bf..50b40cd 100644 --- a/src/main/java/com/glxp/udi/admin/constant/ConstantStatus.java +++ b/src/main/java/com/glxp/udi/admin/constant/ConstantStatus.java @@ -3,6 +3,7 @@ package com.glxp.udi.admin.constant; public class ConstantStatus { //订单状态 + public static final Integer ORDER_STATUS_TEMP_SAVE = -1; //等待提交 public static final Integer ORDER_STATUS_WAIT = 1; //等待处理 public static final Integer ORDER_STATUS_PROCESS = 2; //正在处理 @@ -11,6 +12,12 @@ public class ConstantStatus { public static final Integer ORDER_STATUS_FAIL = 9; //异常 + //ERP订单导出传状态 + public static final Integer ORDER_EXPORT_UN = 0; //未导出 + public static final Integer ORDER_EXPORT_ED = 1; //已导出 + public static final Integer ORDER_EXPORT_FAIL = 2; //导出失败 + + public static final int RECEIVE_UN = 0; //未验收 public static final int RECEIVE_ED = 1; //已验收 @@ -27,9 +34,27 @@ public class ConstantStatus { //往来信息类型-单据 public static final int CORP_TYPE_INPUT = 2; //客户 + //往来信息类型-单据 + public static final int CORP_TYPE_OUT = 0; //供应商 + public static final int CORP_TYPE_INNOR = 1; //内部科室等 + public static final int CORP_TYPE_SPECIAL = 3; //特殊往来 + public static final int CORP_TYPE_DEPT = 4; //部门 + public static final int CORP_SICK_SICK = 1; public static final int DITYPE_SYDY = 2; //使用单元标识 + //单据来源 + public static final int FROM_UDIMS = 1; //1.UDIMS平台 + public static final int FROM_WEBNEW = 2; //网页新增 + public static final int FROM_PDAED = 3; //pda已校验 + public static final int FROM_PDAUN = 4; //pda未校验 + public static final int FROM_PC = 5; //pc端扫码精灵 + public static final int FROM_CHANGE = 6; //单据流转 + public static final int FROM_UDISP = 7; //udi供应商平台 + public static final int FROM_PEACE_CHANGE = 8; //平衡补单 + public static final int FROM_UDIWMS = 9; + public static final int FROM_COPY = 10; //单据复制 + } diff --git a/src/main/java/com/glxp/udi/admin/controller/inout/WareHouseController.java b/src/main/java/com/glxp/udi/admin/controller/inout/WareHouseController.java index 7c9fd99..44c1aed 100644 --- a/src/main/java/com/glxp/udi/admin/controller/inout/WareHouseController.java +++ b/src/main/java/com/glxp/udi/admin/controller/inout/WareHouseController.java @@ -1,26 +1,33 @@ package com.glxp.udi.admin.controller.inout; +import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.collection.CollUtil; import cn.hutool.core.util.StrUtil; import cn.hutool.json.JSONUtil; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.glxp.udi.admin.annotation.AuthRuleAnnotation; +import com.glxp.udi.admin.common.enums.ResultEnum; import com.glxp.udi.admin.common.res.BaseResponse; +import com.glxp.udi.admin.common.util.ResultVOUtils; import com.glxp.udi.admin.constant.ConstantStatus; import com.glxp.udi.admin.entity.auth.AuthAdmin; +import com.glxp.udi.admin.entity.basic.BussinessTypeEntity; import com.glxp.udi.admin.entity.inout.*; +import com.glxp.udi.admin.entity.param.SystemParamConfigEntity; import com.glxp.udi.admin.entity.udid.UdiEntity; import com.glxp.udi.admin.req.inout.*; import com.glxp.udi.admin.req.inventory.FilterInvLinkDataRequest; import com.glxp.udi.admin.res.PageSimpleResponse; import com.glxp.udi.admin.res.basic.BussinessTypResponse; import com.glxp.udi.admin.service.auth.AuthAdminService; +import com.glxp.udi.admin.service.auth.CustomerService; +import com.glxp.udi.admin.service.basic.BussinessTypeService; import com.glxp.udi.admin.service.inout.*; +import com.glxp.udi.admin.service.param.SystemParamCustomerConfigService; import com.glxp.udi.admin.thread.TransInoutService; -import com.glxp.udi.admin.util.FilterUdiUtils; -import com.glxp.udi.admin.common.enums.ResultEnum; -import com.glxp.udi.admin.common.util.ResultVOUtils; +import com.glxp.udi.admin.util.*; +import org.apache.commons.lang3.StringUtils; import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PostMapping; @@ -29,7 +36,9 @@ import org.springframework.web.bind.annotation.RestController; import javax.annotation.Resource; import javax.validation.Valid; +import java.util.ArrayList; import java.util.List; +import java.util.Locale; import java.util.Map; @RestController @@ -51,6 +60,14 @@ public class WareHouseController { private OrderService orderService; @Resource private UdiInfoService udiInfoService; + @Resource + private BussinessTypeService bussinessTypeService; + @Resource + private SystemParamCustomerConfigService systemParamCustomerConfigService; + @Resource + private GennerOrderUtils gennerOrderUtils; + @Resource + private CustomerService customerService; @AuthRuleAnnotation("") @PostMapping("warehouse/inout/postOrders") @@ -276,4 +293,228 @@ public class WareHouseController { warehouseService.updateCodesTime(codeEditRequest); return ResultVOUtils.success("更新成功"); } + + /** + * 网页端添加条码数据接口 + * + * @param addOrderRequest + * @param bindingResult + * @return + */ + @AuthRuleAnnotation("") + @PostMapping("/warehouse/inout/addOrderWeb") + public BaseResponse addOrderWeb(@RequestBody AddOrderRequest addOrderRequest, BindingResult bindingResult) { + if (bindingResult.hasErrors()) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); + } + AddCodeResult addCodeResult = new AddCodeResult(); + if (addOrderRequest.getActor() == null) { + addOrderRequest.setAction(addOrderRequest.getBillType()); + } + BussinessTypeEntity bussinessType = bussinessTypeService.findBTByAction(addOrderRequest.getAction(), addOrderRequest.getCustomerId()); + String code = addOrderRequest.getCode(); + if (StrUtil.isBlank(code)) { + return ResultVOUtils.error(ResultEnum.DATA_ERROR); + } + + UdiEntity udiEntity = FilterUdiUtils.getUdi(code); + if (udiEntity == null) + return ResultVOUtils.error(500, "无效条码!"); + if (StrUtil.isNotEmpty(addOrderRequest.getBatchNo())) { + udiEntity.setBatchNo(addOrderRequest.getBatchNo()); + } + if (StrUtil.isNotEmpty(addOrderRequest.getProduceDate())) { + udiEntity.setProduceDate(addOrderRequest.getProduceDate()); + } + if (StrUtil.isNotEmpty(addOrderRequest.getExpireDate())) { + udiEntity.setExpireDate(addOrderRequest.getExpireDate()); + } + if (StrUtil.isNotEmpty(addOrderRequest.getSerialNo())) { + udiEntity.setSerialNo(addOrderRequest.getSerialNo()); + } + + if (StrUtil.isNotEmpty(udiEntity.getSerialNo()) && udiEntity.getSerialNo().length() > 20) { + return ResultVOUtils.error(500, "无效条码!序列号超出最大范围"); + } + + if (StrUtil.isNotEmpty(udiEntity.getBatchNo()) && udiEntity.getBatchNo().length() > 20) { + return ResultVOUtils.error(500, "无效条码!批次号超出最大范围"); + } + + + //批次号校验 + if (StrUtil.isEmpty(udiEntity.getSerialNo()) && StrUtil.isEmpty(udiEntity.getBatchNo())) { + return ResultVOUtils.error(500, "批次号不能为空!"); + } + + //过期提醒: + SystemParamConfigEntity expireParamConfigEntity = systemParamCustomerConfigService.getParamByKey("expire_date_tip", Long.valueOf(addOrderRequest.getCustomerId())); + if (expireParamConfigEntity.getParamValue().equals("1") && !addOrderRequest.isIgnoreExpire()) { + if (StrUtil.isNotEmpty(udiEntity.getExpireDate())) { + String expireDate = "20" + udiEntity.getExpireDate(); + long expireTime = DateUtil.parseDateExpire(expireDate); + if (expireTime - System.currentTimeMillis() < 0) { + return ResultVOUtils.error(504, "当前产品已过期,是否确定继续添加?"); + } + } + } + + //失效期提醒 + SystemParamConfigEntity recentParamConfigEntity = systemParamCustomerConfigService.getParamByKey("recent_date_tip", Long.valueOf(addOrderRequest.getCustomerId())); + long recent = Long.parseLong(recentParamConfigEntity.getParamValue()); + if (recent > 0 && !addOrderRequest.isIgnoreRecentExpire()) { + if (StrUtil.isNotEmpty(udiEntity.getExpireDate())) { + String expireDate = "20" + udiEntity.getExpireDate(); + long expireTime = DateUtil.parseDateExpire(expireDate); + long recentTieme = Math.abs(recent * 24 * 60 * 60 * 1000); + long resultTime = expireTime - System.currentTimeMillis(); + + if (resultTime > 0) { + long time = resultTime / (24 * 60 * 60 * 1000); + if (resultTime < recentTieme) { + return ResultVOUtils.error(505, "当前产品临近过期,距过期还剩" + time + "天,是否确定继续添加?"); + } + } + } + } + + String orderId = addOrderRequest.getOrderId(); + + //先生成扫码单据 + OrderEntity orderEntity = orderService.findById(orderId); + if (StringUtils.isBlank(orderId) || orderEntity == null) { + String orderNo = gennerOrderUtils.createScOrderNo(new OrderNoTypeBean(Constant.SCAN_ORDER + StrUtil.trim(bussinessType.getPrefix()), "yyyyMMdd")); + orderId = orderNo; + } + + WarehouseQueryRequest warehouseQueryRequest = new WarehouseQueryRequest(); + warehouseQueryRequest.setOrderId(orderId); + List warehouseEntitys = warehouseTempService.findByOrderIdAndCode(warehouseQueryRequest); + WarehousetempEntity warehousetempEntity = new WarehousetempEntity(); + WarehouseEntity exitLocalEntity = null; + if (warehouseEntitys.size() > 0) { + exitLocalEntity = isExitLocal(code, warehouseEntitys); + if (exitLocalEntity != null) { + BeanUtil.copyProperties(exitLocalEntity, warehousetempEntity); + warehousetempEntity.setCount(warehousetempEntity.getCount() + 1); + if (StringUtils.isBlank(warehousetempEntity.getSerialNo())) { + warehouseTempService.updateById(warehousetempEntity); + } else { + return ResultVOUtils.error(ResultEnum.DATA_REPEAT); + } + } + } + + + if (exitLocalEntity == null) { + warehousetempEntity.setCode(code); + warehousetempEntity.setOrderId(orderId); + warehousetempEntity.setCorpOrderId(addOrderRequest.getCorpOrderId()); + warehousetempEntity.setActDate(addOrderRequest.getActDate()); + warehousetempEntity.setMainAction(bussinessType.getMainAction()); + warehousetempEntity.setAction(bussinessType.getAction()); + warehousetempEntity.setActor(addOrderRequest.getActor()); + warehousetempEntity.setFromCorpId(addOrderRequest.getFromCorpId()); + warehousetempEntity.setFromCorp(addOrderRequest.getFromCorp()); + warehousetempEntity.setBatchNo(udiEntity.getBatchNo()); + warehousetempEntity.setProduceDate(udiEntity.getProduceDate()); + warehousetempEntity.setLocStorageCode(addOrderRequest.getInvWarehouseCode()); + warehousetempEntity.setNameCode(udiEntity.getUdi()); + warehousetempEntity.setExpireDate(udiEntity.getExpireDate()); + warehousetempEntity.setSerialNo(udiEntity.getSerialNo()); + warehousetempEntity.setLocStorageCode(addOrderRequest.getLocStorageCode()); + warehousetempEntity.setCount(1); + List warehousetempEntities = new ArrayList<>(); + warehousetempEntities.add(warehousetempEntity); + String unitFk = null; + + + if (bussinessType.getCorpType() == ConstantStatus.CORP_TYPE_OUT) { + unitFk = warehousetempEntity.getFromCorpId(); + } + //产品是否可以以使用单元入库 + UdiInfoEntity udiInfoEntity = udiInfoService.findByNameCode(warehousetempEntity.getNameCode(), unitFk); + if (null != udiInfoEntity) { + + //计算实际数量 + int actCount = 0; + if (udiInfoEntity.getIsUseDy() == 1 && udiInfoEntity.getDiType() != 2) { + if (udiInfoEntity.getBhzxxsbzsl() == 0) { + actCount = udiInfoEntity.getZxxsbzbhsydysl(); + } else { + actCount = udiInfoEntity.getBhzxxsbzsl() * udiInfoEntity.getBhzxxsbzsl(); + } + } else { + actCount = udiInfoEntity.getBhzxxsbzsl(); + } + warehousetempEntity.setCount(warehousetempEntity.getCount() * actCount); + } else { + if (unitFk == null) + return ResultVOUtils.error(500, "耗材字典不存在此产品!"); + else + return ResultVOUtils.error(500, "当前供应商不存在此配送产品!"); + + } + + OrderEntity isExit = orderService.findById(orderId); + if (isExit == null) { + OrderEntity orderSaveRequest = new OrderEntity(); + orderSaveRequest.setOrderId(orderId); + if (addOrderRequest.getActDate() != null) { + orderSaveRequest.setActDate(addOrderRequest.getActDate()); + } + + long customerId = customerService.getCustomerId(); + orderSaveRequest.setMainAction(bussinessType.getMainAction()); + orderSaveRequest.setAction(bussinessType.getAction()); + orderSaveRequest.setActor(addOrderRequest.getActor()); + orderSaveRequest.setCorpOrderId(addOrderRequest.getCorpOrderId()); + orderSaveRequest.setLocStorageCode(addOrderRequest.getLocStorageCode()); + orderSaveRequest.setFromCorpId(addOrderRequest.getFromCorpId()); + orderSaveRequest.setFromCorp(addOrderRequest.getFromCorp()); + orderSaveRequest.setFromType("网页新增"); + orderSaveRequest.setStatus(ConstantStatus.ORDER_STATUS_TEMP_SAVE); + orderSaveRequest.setExportStatus("未上传"); + orderSaveRequest.setReceiveStatus(ConstantStatus.RECEIVE_UN); + orderSaveRequest.setLocStorageCode(addOrderRequest.getInvWarehouseCode()); + orderSaveRequest.setCustomerId(customerId); + orderService.insertOrder(orderSaveRequest); + } + } + addCodeResult.setOrderId(orderId); + + + return ResultVOUtils.success(addCodeResult); + } + + + //判断本单是否存在 + public WarehouseEntity isExitLocal(String code, List warehouseEntityList) { + + UdiEntity udiEntity = FilterUdiUtils.getUdi(code); + for (int i = 0; i < warehouseEntityList.size(); i++) { + WarehouseEntity drugCodeSelectEntity = warehouseEntityList.get(i); + if (warehouseEntityList.get(i).getCode().equals(code)) { + return drugCodeSelectEntity; + } + UdiEntity originUdiEntity = FilterUdiUtils.getUdi(drugCodeSelectEntity.getCode()); + if (!StrUtil.emptyIfNull(originUdiEntity.getUdi()).equals(StrUtil.emptyIfNull(udiEntity.getUdi()))) { + continue; + } + if (!StrUtil.emptyIfNull(originUdiEntity.getBatchNo()).toUpperCase(Locale.ROOT).equals(StrUtil.emptyIfNull(udiEntity.getBatchNo()).toUpperCase(Locale.ROOT))) { + continue; + } + if (!StrUtil.emptyIfNull(originUdiEntity.getProduceDate()).equals(StrUtil.emptyIfNull(udiEntity.getProduceDate()))) { + continue; + } + if (!StrUtil.emptyIfNull(originUdiEntity.getExpireDate()).equals(StrUtil.emptyIfNull(udiEntity.getExpireDate()))) { + continue; + } + if (!StrUtil.emptyIfNull(originUdiEntity.getSerialNo()).equals(StrUtil.emptyIfNull(udiEntity.getSerialNo()))) { + continue; + } + return drugCodeSelectEntity; + } + return null; + } } diff --git a/src/main/java/com/glxp/udi/admin/controller/product/StackCodeController.java b/src/main/java/com/glxp/udi/admin/controller/product/StackCodeController.java index b2c8985..24cd4de 100644 --- a/src/main/java/com/glxp/udi/admin/controller/product/StackCodeController.java +++ b/src/main/java/com/glxp/udi/admin/controller/product/StackCodeController.java @@ -6,11 +6,14 @@ import com.glxp.udi.admin.common.enums.ResultEnum; import com.glxp.udi.admin.common.res.BaseResponse; import com.glxp.udi.admin.common.util.ResultVOUtils; import com.glxp.udi.admin.entity.product.StackCode; +import com.glxp.udi.admin.req.inout.DeleteRequest; import com.glxp.udi.admin.req.product.FilterStackCodeRequest; import com.glxp.udi.admin.res.PageSimpleResponse; import com.glxp.udi.admin.service.product.StackCodeService; import lombok.extern.slf4j.Slf4j; 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; @@ -43,4 +46,19 @@ public class StackCodeController { return ResultVOUtils.success(pageSimpleResponse); } + /** + * 删除垛码明细 + * + * @param deleteRequest + * @return + */ + @PostMapping("/udims/stack/code/delete") + public BaseResponse delete(@RequestBody DeleteRequest deleteRequest) { + if (null == deleteRequest || StrUtil.isBlank(deleteRequest.getId())) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL); + } + stackCodeService.deleteById(deleteRequest.getId()); + return ResultVOUtils.success("删除成功"); + } + } diff --git a/src/main/java/com/glxp/udi/admin/dao/inout/CodesTempDao.java b/src/main/java/com/glxp/udi/admin/dao/inout/CodesTempDao.java index aea8e98..5455a72 100644 --- a/src/main/java/com/glxp/udi/admin/dao/inout/CodesTempDao.java +++ b/src/main/java/com/glxp/udi/admin/dao/inout/CodesTempDao.java @@ -1,7 +1,9 @@ package com.glxp.udi.admin.dao.inout; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.glxp.udi.admin.entity.inout.WarehouseEntity; import com.glxp.udi.admin.entity.inout.WarehousetempEntity; +import com.glxp.udi.admin.req.inout.WarehouseQueryRequest; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; @@ -59,4 +61,12 @@ public interface CodesTempDao extends BaseMapper { * @return */ int countByOrderId(@Param("orderId") String orderId); + + /** + * 根据单据号和码查询临时码表 + * + * @param warehouseQueryRequest + * @return + */ + List findByOrderIdAndCode(WarehouseQueryRequest warehouseQueryRequest); } diff --git a/src/main/java/com/glxp/udi/admin/dao/product/StackCodeDao.java b/src/main/java/com/glxp/udi/admin/dao/product/StackCodeDao.java index ff761fa..4df3c1b 100644 --- a/src/main/java/com/glxp/udi/admin/dao/product/StackCodeDao.java +++ b/src/main/java/com/glxp/udi/admin/dao/product/StackCodeDao.java @@ -3,7 +3,15 @@ package com.glxp.udi.admin.dao.product; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.glxp.udi.admin.entity.product.StackCode; import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; @Mapper public interface StackCodeDao extends BaseMapper { + + /** + * 根据订单号删除码明细数据 + * + * @param orderId + */ + void deleteByOrderId(@Param("orderId") String orderId); } diff --git a/src/main/java/com/glxp/udi/admin/dao/product/StackOrderDao.java b/src/main/java/com/glxp/udi/admin/dao/product/StackOrderDao.java index 177a5c6..50c0dd7 100644 --- a/src/main/java/com/glxp/udi/admin/dao/product/StackOrderDao.java +++ b/src/main/java/com/glxp/udi/admin/dao/product/StackOrderDao.java @@ -3,7 +3,16 @@ package com.glxp.udi.admin.dao.product; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.glxp.udi.admin.entity.product.StackOrder; import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; @Mapper public interface StackOrderDao extends BaseMapper { + + /** + * 根据ID查询此垛的订单号 + * + * @param id + * @return + */ + String selectOrderIdById(@Param("id") Integer id); } diff --git a/src/main/java/com/glxp/udi/admin/req/inout/AddCodeResult.java b/src/main/java/com/glxp/udi/admin/req/inout/AddCodeResult.java new file mode 100644 index 0000000..2a07a67 --- /dev/null +++ b/src/main/java/com/glxp/udi/admin/req/inout/AddCodeResult.java @@ -0,0 +1,9 @@ +package com.glxp.udi.admin.req.inout; + +import lombok.Data; + +@Data +public class AddCodeResult { + private String orderId; + private String errMsg; +} diff --git a/src/main/java/com/glxp/udi/admin/req/inout/AddOrderRequest.java b/src/main/java/com/glxp/udi/admin/req/inout/AddOrderRequest.java new file mode 100644 index 0000000..2e0d45f --- /dev/null +++ b/src/main/java/com/glxp/udi/admin/req/inout/AddOrderRequest.java @@ -0,0 +1,35 @@ +package com.glxp.udi.admin.req.inout; + +import lombok.Data; + +@Data +public class AddOrderRequest { + private String corpOrderId; + private String code; + private String actor; + private String mainAction; + private String action; + private String fromCorpId; + private String fromCorp; + private Integer fromType; + private String actDate; + private String billType; + private String locStorageCode; + private String invWarehouseCode; + private String orderId; + private String customerId; + private boolean outChangeEnable; + private boolean ignoreExpire; + private boolean ignoreRecentExpire; + private boolean ignoreCode; + private boolean preCheck; + private String fromSubInvCode; + private boolean vailInv; + private boolean codeFillCheck; + + private String batchNo; + private String produceDate; + private String expireDate; + private String serialNo; + private String deptCode; +} diff --git a/src/main/java/com/glxp/udi/admin/service/inout/WarehouseTempService.java b/src/main/java/com/glxp/udi/admin/service/inout/WarehouseTempService.java index 8235d90..89ff8af 100644 --- a/src/main/java/com/glxp/udi/admin/service/inout/WarehouseTempService.java +++ b/src/main/java/com/glxp/udi/admin/service/inout/WarehouseTempService.java @@ -9,6 +9,7 @@ import com.glxp.udi.admin.common.res.BaseResponse; import com.glxp.udi.admin.common.util.ResultVOUtils; import com.glxp.udi.admin.dao.inout.CodesTempDao; import com.glxp.udi.admin.dao.inout.OrderDao; +import com.glxp.udi.admin.entity.inout.WarehouseEntity; import com.glxp.udi.admin.entity.inout.WarehousetempEntity; import com.glxp.udi.admin.req.inout.DeleteRequest; import com.glxp.udi.admin.req.inout.WarehouseQueryRequest; @@ -115,4 +116,18 @@ public class WarehouseTempService { } return ResultVOUtils.success(); } + + /** + * 根据单据号和码查询临时码表 + * + * @param warehouseQueryRequest + * @return + */ + public List findByOrderIdAndCode(WarehouseQueryRequest warehouseQueryRequest) { + if (warehouseQueryRequest == null) { + return Collections.emptyList(); + } + return codesTempDao.findByOrderIdAndCode(warehouseQueryRequest); + } + } diff --git a/src/main/java/com/glxp/udi/admin/service/product/StackCodeService.java b/src/main/java/com/glxp/udi/admin/service/product/StackCodeService.java index a0d5dd4..1cc3d57 100644 --- a/src/main/java/com/glxp/udi/admin/service/product/StackCodeService.java +++ b/src/main/java/com/glxp/udi/admin/service/product/StackCodeService.java @@ -51,8 +51,17 @@ public class StackCodeService { public IPage filterList(FilterStackCodeRequest filterStackCodeRequest) { QueryWrapper wrapper = new QueryWrapper() .eq("orderIdFk", filterStackCodeRequest.getOrderIdFk()) - .eq(StrUtil.isNotBlank(filterStackCodeRequest.getCode()), "code", filterStackCodeRequest.getCode()); + .like(StrUtil.isNotBlank(filterStackCodeRequest.getCode()), "code", filterStackCodeRequest.getCode()); IPage page = new Page<>(filterStackCodeRequest.getPage(), filterStackCodeRequest.getLimit()); return stackCodeDao.selectPage(page, wrapper); } + + /** + * 根据ID删除垛码明细 + * + * @param id + */ + public void deleteById(String id) { + stackCodeDao.deleteById(id); + } } diff --git a/src/main/java/com/glxp/udi/admin/service/product/StackOrderService.java b/src/main/java/com/glxp/udi/admin/service/product/StackOrderService.java index e2e7c2c..6f6358b 100644 --- a/src/main/java/com/glxp/udi/admin/service/product/StackOrderService.java +++ b/src/main/java/com/glxp/udi/admin/service/product/StackOrderService.java @@ -4,6 +4,7 @@ import cn.hutool.core.util.StrUtil; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.glxp.udi.admin.dao.product.StackCodeDao; import com.glxp.udi.admin.dao.product.StackOrderDao; import com.glxp.udi.admin.entity.product.StackOrder; import com.glxp.udi.admin.req.product.StackOrderFilterRequest; @@ -21,6 +22,8 @@ public class StackOrderService { private StackOrderDao stackOrderDao; @Resource private IdUtil idUtil; + @Resource + private StackCodeDao stackCodeDao; public IPage filterList(StackOrderFilterRequest stackOrderFilterRequest) { @@ -53,6 +56,12 @@ public class StackOrderService { } public void deleteById(Integer id) { + //查询此垛的垛号 + String orderId = stackOrderDao.selectOrderIdById(id); + //删除垛数据 stackOrderDao.deleteById(id); + //删除关联的条码数据 + stackCodeDao.deleteByOrderId(orderId); } + } diff --git a/src/main/resources/mybatis/mapper/inout/CodesTempDao.xml b/src/main/resources/mybatis/mapper/inout/CodesTempDao.xml index 13c4941..d38cd78 100644 --- a/src/main/resources/mybatis/mapper/inout/CodesTempDao.xml +++ b/src/main/resources/mybatis/mapper/inout/CodesTempDao.xml @@ -28,10 +28,21 @@ - update io_codes_temp set actDate = #{actDate} where orderId = #{orderId} + update io_codes_temp + set actDate = #{actDate} + where orderId = #{orderId} + + \ No newline at end of file diff --git a/src/main/resources/mybatis/mapper/product/StackCodeDao.xml b/src/main/resources/mybatis/mapper/product/StackCodeDao.xml new file mode 100644 index 0000000..f641038 --- /dev/null +++ b/src/main/resources/mybatis/mapper/product/StackCodeDao.xml @@ -0,0 +1,9 @@ + + + + + delete + from stack_code + where orderIdFk = #{orderId} + + \ No newline at end of file diff --git a/src/main/resources/mybatis/mapper/product/StackOrderDao.xml b/src/main/resources/mybatis/mapper/product/StackOrderDao.xml new file mode 100644 index 0000000..d25a04c --- /dev/null +++ b/src/main/resources/mybatis/mapper/product/StackOrderDao.xml @@ -0,0 +1,9 @@ + + + + + \ No newline at end of file