diff --git a/dl-module-base/src/main/java/cn/iocoder/yudao/module/company/controller/admin/CompanyController.java b/dl-module-base/src/main/java/cn/iocoder/yudao/module/company/controller/admin/CompanyController.java index 26837fe7..1a623151 100644 --- a/dl-module-base/src/main/java/cn/iocoder/yudao/module/company/controller/admin/CompanyController.java +++ b/dl-module-base/src/main/java/cn/iocoder/yudao/module/company/controller/admin/CompanyController.java @@ -29,6 +29,7 @@ import cn.iocoder.yudao.framework.common.pojo.CommonResult; import static cn.iocoder.yudao.framework.apilog.core.enums.OperateTypeEnum.EXPORT; import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception; +import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception0; import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success; import org.springframework.beans.factory.annotation.Autowired; @@ -193,7 +194,7 @@ public class CompanyController { DeptRespDTO dept = deptApi.getDept(deptId); // 这里可能出现查不到的情况,直接抛个系统错误先,不能影响后续操作 if (ObjectUtil.isEmpty(dept)){ - throw exception(CommonErrorCodeConstants.SYSTEM_ERROR); + throw exception0(500, "无法获取当前门店信息,请手动选择"); } return success(companyService.getById(dept.getCorpId())); } diff --git a/dl-module-repair/src/main/java/cn/iocoder/yudao/module/stockOperate/controller/admin/DlRepairSoController.java b/dl-module-repair/src/main/java/cn/iocoder/yudao/module/stockOperate/controller/admin/DlRepairSoController.java index 8de6d485..86e53ea9 100644 --- a/dl-module-repair/src/main/java/cn/iocoder/yudao/module/stockOperate/controller/admin/DlRepairSoController.java +++ b/dl-module-repair/src/main/java/cn/iocoder/yudao/module/stockOperate/controller/admin/DlRepairSoController.java @@ -74,5 +74,18 @@ public class DlRepairSoController { dlRepairSoService.voidRepairSo(repairSoReqVO); return CommonResult.ok(); } + + /** + * 采购单/领料单 查看 + * + * @author 小李 + * @date 9:34 2024/9/22 + * @param id 主键 + **/ + @GetMapping("/get") + @Operation(summary = "采购单/领料单 查看") + public CommonResult getRepairSoById(@RequestParam("id") String id){ + return success(dlRepairSoService.getRepairSoById(id)); + } } diff --git a/dl-module-repair/src/main/java/cn/iocoder/yudao/module/stockOperate/controller/admin/DlRepairSoiController.java b/dl-module-repair/src/main/java/cn/iocoder/yudao/module/stockOperate/controller/admin/DlRepairSoiController.java index e23b4fec..f8c7567a 100644 --- a/dl-module-repair/src/main/java/cn/iocoder/yudao/module/stockOperate/controller/admin/DlRepairSoiController.java +++ b/dl-module-repair/src/main/java/cn/iocoder/yudao/module/stockOperate/controller/admin/DlRepairSoiController.java @@ -14,6 +14,8 @@ import org.springframework.web.bind.annotation.RestController; import javax.annotation.Resource; +import java.util.List; + import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success; /** @@ -47,5 +49,18 @@ public class DlRepairSoiController{ Page page = new Page<>(pageNo, pageSize); return success(dlRepairSoiService.getRepairSoiPage(repairSoiReqVO, page)); } + + /** + * 采购单领料单子表详细 按ID查 + * + * @author 小李 + * @date 11:24 2024/9/22 + * @param ids ids + **/ + @GetMapping("/get") + @Operation(summary = "采购单领料单子表详细 按ID查") + public CommonResult getRepairSoiByIds(@RequestParam(value = "ids") List ids){ + return success(dlRepairSoiService.getRepairSoiByIds(ids)); + } } diff --git a/dl-module-repair/src/main/java/cn/iocoder/yudao/module/stockOperate/service/DlRepairSoService.java b/dl-module-repair/src/main/java/cn/iocoder/yudao/module/stockOperate/service/DlRepairSoService.java index 14a3bb91..00923f18 100644 --- a/dl-module-repair/src/main/java/cn/iocoder/yudao/module/stockOperate/service/DlRepairSoService.java +++ b/dl-module-repair/src/main/java/cn/iocoder/yudao/module/stockOperate/service/DlRepairSoService.java @@ -40,4 +40,13 @@ public interface DlRepairSoService extends IService { * @param repairSoReqVO 作废对象 **/ void voidRepairSo(DlRepairSoReqVO repairSoReqVO); + + /** + * 采购单/领料单 查看 + * + * @author 小李 + * @date 9:34 2024/9/22 + * @param id 主键 + **/ + DlRepairSoRespVO getRepairSoById(String id); } diff --git a/dl-module-repair/src/main/java/cn/iocoder/yudao/module/stockOperate/service/DlRepairSoiService.java b/dl-module-repair/src/main/java/cn/iocoder/yudao/module/stockOperate/service/DlRepairSoiService.java index a634f621..36c5ee45 100644 --- a/dl-module-repair/src/main/java/cn/iocoder/yudao/module/stockOperate/service/DlRepairSoiService.java +++ b/dl-module-repair/src/main/java/cn/iocoder/yudao/module/stockOperate/service/DlRepairSoiService.java @@ -1,11 +1,14 @@ package cn.iocoder.yudao.module.stockOperate.service; import cn.iocoder.yudao.module.stockOperate.entity.DlRepairSoi; +import cn.iocoder.yudao.module.stockOperate.vo.DlRepairSoiQueryRespVO; import cn.iocoder.yudao.module.stockOperate.vo.DlRepairSoiReqVO; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.IService; +import java.util.List; + /** * 针对表【dl_repair_soi(采购单领料单子表)】的数据库操作Service * @author 小李 @@ -21,4 +24,13 @@ public interface DlRepairSoiService extends IService { * @param repairSoiReqVO 查询对象 **/ IPage getRepairSoiPage(DlRepairSoiReqVO repairSoiReqVO, Page page); + + /** + * 采购单领料单子表详细 按ID查 + * + * @author 小李 + * @date 11:24 2024/9/22 + * @param ids ids + **/ + List getRepairSoiByIds(List ids); } diff --git a/dl-module-repair/src/main/java/cn/iocoder/yudao/module/stockOperate/service/impl/DlRepairSoServiceImpl.java b/dl-module-repair/src/main/java/cn/iocoder/yudao/module/stockOperate/service/impl/DlRepairSoServiceImpl.java index a44c6f5a..2a6d92a0 100644 --- a/dl-module-repair/src/main/java/cn/iocoder/yudao/module/stockOperate/service/impl/DlRepairSoServiceImpl.java +++ b/dl-module-repair/src/main/java/cn/iocoder/yudao/module/stockOperate/service/impl/DlRepairSoServiceImpl.java @@ -1,5 +1,6 @@ package cn.iocoder.yudao.module.stockOperate.service.impl; +import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.collection.CollectionUtil; import cn.hutool.core.util.ObjectUtil; import cn.iocoder.yudao.common.RepairErrorCodeConstants; @@ -7,6 +8,7 @@ import cn.iocoder.yudao.framework.security.core.util.SecurityFrameworkUtils; import cn.iocoder.yudao.module.company.entity.Company; import cn.iocoder.yudao.module.company.service.CompanyService; import cn.iocoder.yudao.module.stockOperate.entity.DlRepairSo; +import cn.iocoder.yudao.module.stockOperate.entity.DlRepairSoi; import cn.iocoder.yudao.module.stockOperate.mapper.DlRepairSoMapper; import cn.iocoder.yudao.module.stockOperate.service.DlRepairSoService; import cn.iocoder.yudao.module.stockOperate.service.DlRepairSoiService; @@ -23,6 +25,8 @@ import org.springframework.stereotype.Service; import javax.annotation.Resource; +import java.util.List; + import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception; /** @@ -70,7 +74,10 @@ public class DlRepairSoServiceImpl extends ServiceImpl item.setSoId(repairSoRespVO.getId())); + repairSoRespVO.getGoodsList().forEach(item -> { + item.setSoId(repairSoRespVO.getId()); + item.setSoiType(repairSoRespVO.getSoType()); + }); repairSoiService.saveBatch(repairSoRespVO.getGoodsList()); } @@ -97,6 +104,25 @@ public class DlRepairSoServiceImpl extends ServiceImpl list = repairSoiService.list(new LambdaQueryWrapper().eq(DlRepairSoi::getSoId, result.getId())); + result.setGoodsList(list); + return result; + } } diff --git a/dl-module-repair/src/main/java/cn/iocoder/yudao/module/stockOperate/service/impl/DlRepairSoiServiceImpl.java b/dl-module-repair/src/main/java/cn/iocoder/yudao/module/stockOperate/service/impl/DlRepairSoiServiceImpl.java index 9919118a..29826a86 100644 --- a/dl-module-repair/src/main/java/cn/iocoder/yudao/module/stockOperate/service/impl/DlRepairSoiServiceImpl.java +++ b/dl-module-repair/src/main/java/cn/iocoder/yudao/module/stockOperate/service/impl/DlRepairSoiServiceImpl.java @@ -1,14 +1,27 @@ package cn.iocoder.yudao.module.stockOperate.service.impl; +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.collection.CollectionUtil; +import cn.iocoder.yudao.module.project.entity.RepairWares; +import cn.iocoder.yudao.module.project.service.RepairWaresService; +import cn.iocoder.yudao.module.stockOperate.entity.DlRepairSo; import cn.iocoder.yudao.module.stockOperate.entity.DlRepairSoi; import cn.iocoder.yudao.module.stockOperate.mapper.DlRepairSoiMapper; +import cn.iocoder.yudao.module.stockOperate.service.DlRepairSoService; import cn.iocoder.yudao.module.stockOperate.service.DlRepairSoiService; +import cn.iocoder.yudao.module.stockOperate.vo.DlRepairSoiQueryRespVO; import cn.iocoder.yudao.module.stockOperate.vo.DlRepairSoiReqVO; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.context.annotation.Lazy; import org.springframework.stereotype.Service; +import javax.annotation.Resource; +import java.util.List; +import java.util.Set; +import java.util.stream.Collectors; + /** * 针对表【dl_repair_soi(采购单领料单子表)】的数据库操作Service实现 * @@ -19,17 +32,55 @@ import org.springframework.stereotype.Service; public class DlRepairSoiServiceImpl extends ServiceImpl implements DlRepairSoiService { + @Resource + private RepairWaresService waresService; + + @Resource + @Lazy + private DlRepairSoService soService; + /** * 采购单领料单子表 分页 * + * @param repairSoiReqVO 查询对象 * @author 小李 * @date 10:44 2024/9/18 - * @param repairSoiReqVO 查询对象 **/ @Override - public IPage getRepairSoiPage(DlRepairSoiReqVO repairSoiReqVO, Page page){ + public IPage getRepairSoiPage(DlRepairSoiReqVO repairSoiReqVO, Page page) { return baseMapper.getRepairSoiPage(repairSoiReqVO, page); } + + /** + * 采购单领料单子表详细 按ID查 + * + * @param ids ids + * @author 小李 + * @date 11:24 2024/9/22 + **/ + @Override + public List getRepairSoiByIds(List ids) { + List repairSois = baseMapper.selectBatchIds(ids); + List result = repairSois.stream() + .map(item -> BeanUtil.toBean(item, DlRepairSoiQueryRespVO.class)) + .collect(Collectors.toList()); + List goodsIds = result.stream().map(DlRepairSoiQueryRespVO::getGoodsId).collect(Collectors.toList()); + List repairWares = waresService.listByIds(goodsIds); + result.forEach(item -> { + List wares = repairWares.stream().filter(i -> i.getId().equals(item.getGoodsId())).collect(Collectors.toList()); + if (CollectionUtil.isNotEmpty(wares)){ + item.setRepairWares(wares.get(0)); + } + }); + + // 反查主表(时间紧迫,直接先这样) + Set soIds = repairSois.stream().map(DlRepairSoi::getSoId).collect(Collectors.toSet()); + List dlRepairSos = soService.listByIds(soIds); + result.forEach(item -> { + dlRepairSos.stream().filter(i -> i.getId().equals(item.getSoId())).findFirst().ifPresent(item::setSo); + }); + return result; + } } diff --git a/dl-module-repair/src/main/java/cn/iocoder/yudao/module/stockOperate/vo/DlRepairSoiQueryRespVO.java b/dl-module-repair/src/main/java/cn/iocoder/yudao/module/stockOperate/vo/DlRepairSoiQueryRespVO.java new file mode 100644 index 00000000..517506d6 --- /dev/null +++ b/dl-module-repair/src/main/java/cn/iocoder/yudao/module/stockOperate/vo/DlRepairSoiQueryRespVO.java @@ -0,0 +1,22 @@ +package cn.iocoder.yudao.module.stockOperate.vo; + +import cn.iocoder.yudao.module.project.entity.RepairWares; +import cn.iocoder.yudao.module.stockOperate.entity.DlRepairSo; +import cn.iocoder.yudao.module.stockOperate.entity.DlRepairSoi; +import lombok.Data; + +/** + * 用于查详情 + * + * @author 小李 + * @date 11:25 2024/9/22 +**/ +@Data +public class DlRepairSoiQueryRespVO extends DlRepairSoi { + + /** 配件的详细信息 */ + private RepairWares repairWares; + + /** 主表 */ + private DlRepairSo so; +} diff --git a/dl-module-repair/src/main/java/cn/iocoder/yudao/module/stockOperate/vo/DlRepairSoiReqVO.java b/dl-module-repair/src/main/java/cn/iocoder/yudao/module/stockOperate/vo/DlRepairSoiReqVO.java index a8366783..1f267e3c 100644 --- a/dl-module-repair/src/main/java/cn/iocoder/yudao/module/stockOperate/vo/DlRepairSoiReqVO.java +++ b/dl-module-repair/src/main/java/cn/iocoder/yudao/module/stockOperate/vo/DlRepairSoiReqVO.java @@ -26,4 +26,7 @@ public class DlRepairSoiReqVO extends DlRepairSoi { @Schema(pattern = "门店") private String corpId; + + @Schema(pattern = "查询关键字") + private String query; } diff --git a/dl-module-repair/src/main/java/cn/iocoder/yudao/module/stockTransfer/controller/admin/DlRepairStController.java b/dl-module-repair/src/main/java/cn/iocoder/yudao/module/stockTransfer/controller/admin/DlRepairStController.java index 37958197..9adb14a2 100644 --- a/dl-module-repair/src/main/java/cn/iocoder/yudao/module/stockTransfer/controller/admin/DlRepairStController.java +++ b/dl-module-repair/src/main/java/cn/iocoder/yudao/module/stockTransfer/controller/admin/DlRepairStController.java @@ -59,5 +59,32 @@ public class DlRepairStController{ Page page = new Page<>(pageNo, pageSize); return success(dlRepairStService.getStPage(repairStReqVO, page)); } + + /** + * 调拨单(出库、入库) 作废 + * + * @author 小李 + * @date 15:11 2024/9/22 + * @param repairStReqVO 请求对象 + **/ + @PostMapping("/void") + @Operation(summary = "调拨单(出库、入库) 作废") + public CommonResult voidSt(@RequestBody DlRepairStReqVO repairStReqVO){ + dlRepairStService.voidSt(repairStReqVO); + return CommonResult.ok(); + } + + /** + * 调拨单(出库、入库) 详情查询 + * + * @author 小李 + * @date 15:52 2024/9/22 + * @param id 查询ID + **/ + @GetMapping("/get") + @Operation(summary = "调拨单(出库、入库) 详情查询") + public CommonResult getSt(@RequestParam("id") String id){ + return success(dlRepairStService.getSt(id)); + } } diff --git a/dl-module-repair/src/main/java/cn/iocoder/yudao/module/stockTransfer/controller/admin/DlRepairStiController.java b/dl-module-repair/src/main/java/cn/iocoder/yudao/module/stockTransfer/controller/admin/DlRepairStiController.java index 9e63ffcc..0c7a915a 100644 --- a/dl-module-repair/src/main/java/cn/iocoder/yudao/module/stockTransfer/controller/admin/DlRepairStiController.java +++ b/dl-module-repair/src/main/java/cn/iocoder/yudao/module/stockTransfer/controller/admin/DlRepairStiController.java @@ -14,6 +14,8 @@ import org.springframework.web.bind.annotation.RestController; import javax.annotation.Resource; +import java.util.List; + import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success; /** @@ -47,5 +49,18 @@ public class DlRepairStiController{ Page page = new Page<>(pageNo, pageSize); return success(dlRepairStiService.getStiPage(repairStiReqVO, page)); } + + /** + * 调拨单子表 配件详情 + * + * @author 小李 + * @date 18:33 2024/9/22 + * @param ids ids + **/ + @GetMapping("/getWares") + @Operation(summary = "调拨单子表 配件详情") + public CommonResult getStIsWares(@RequestParam("ids") List ids){ + return success(dlRepairStiService.getStIsWares(ids)); + } } diff --git a/dl-module-repair/src/main/java/cn/iocoder/yudao/module/stockTransfer/service/DlRepairStService.java b/dl-module-repair/src/main/java/cn/iocoder/yudao/module/stockTransfer/service/DlRepairStService.java index ba59fcc0..30ff6aa4 100644 --- a/dl-module-repair/src/main/java/cn/iocoder/yudao/module/stockTransfer/service/DlRepairStService.java +++ b/dl-module-repair/src/main/java/cn/iocoder/yudao/module/stockTransfer/service/DlRepairStService.java @@ -32,4 +32,22 @@ public interface DlRepairStService extends IService { * @param repairStReqVO 查询对象 **/ IPage getStPage(DlRepairStReqVO repairStReqVO, Page page); + + /** + * 调拨单(出库、入库) 作废 + * + * @author 小李 + * @date 15:11 2024/9/22 + * @param repairStReqVO 请求对象 + **/ + void voidSt(DlRepairStReqVO repairStReqVO); + + /** + * 调拨单(出库、入库) 详情查询 + * + * @author 小李 + * @date 15:52 2024/9/22 + * @param id 查询ID + **/ + DlRepairStRespVO getSt(String id); } diff --git a/dl-module-repair/src/main/java/cn/iocoder/yudao/module/stockTransfer/service/DlRepairStiService.java b/dl-module-repair/src/main/java/cn/iocoder/yudao/module/stockTransfer/service/DlRepairStiService.java index 711ae2e2..f9ef672e 100644 --- a/dl-module-repair/src/main/java/cn/iocoder/yudao/module/stockTransfer/service/DlRepairStiService.java +++ b/dl-module-repair/src/main/java/cn/iocoder/yudao/module/stockTransfer/service/DlRepairStiService.java @@ -1,11 +1,14 @@ package cn.iocoder.yudao.module.stockTransfer.service; import cn.iocoder.yudao.module.stockTransfer.entity.DlRepairSti; +import cn.iocoder.yudao.module.stockTransfer.vo.DlRepairStiQueryVO; import cn.iocoder.yudao.module.stockTransfer.vo.DlRepairStiReqVO; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.IService; +import java.util.List; + /** * 针对表【dl_repair_sti(调拨单子表)】的数据库操作Service * @author 小李 @@ -21,4 +24,13 @@ public interface DlRepairStiService extends IService { * @param repairStiReqVO 查询对象 **/ IPage getStiPage(DlRepairStiReqVO repairStiReqVO, Page page); + + /** + * 调拨单子表 配件详情 + * + * @author 小李 + * @date 18:33 2024/9/22 + * @param ids ids + **/ + List getStIsWares(List ids); } diff --git a/dl-module-repair/src/main/java/cn/iocoder/yudao/module/stockTransfer/service/impl/DlRepairStServiceImpl.java b/dl-module-repair/src/main/java/cn/iocoder/yudao/module/stockTransfer/service/impl/DlRepairStServiceImpl.java index c83ed130..a040244a 100644 --- a/dl-module-repair/src/main/java/cn/iocoder/yudao/module/stockTransfer/service/impl/DlRepairStServiceImpl.java +++ b/dl-module-repair/src/main/java/cn/iocoder/yudao/module/stockTransfer/service/impl/DlRepairStServiceImpl.java @@ -1,13 +1,19 @@ package cn.iocoder.yudao.module.stockTransfer.service.impl; +import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.collection.CollectionUtil; import cn.iocoder.yudao.common.RepairErrorCodeConstants; import cn.iocoder.yudao.framework.security.core.util.SecurityFrameworkUtils; +import cn.iocoder.yudao.module.project.entity.RepairWares; +import cn.iocoder.yudao.module.project.service.RepairWaresService; import cn.iocoder.yudao.module.stockTransfer.entity.DlRepairSt; +import cn.iocoder.yudao.module.stockTransfer.entity.DlRepairSti; import cn.iocoder.yudao.module.stockTransfer.service.DlRepairStiService; import cn.iocoder.yudao.module.stockTransfer.vo.DlRepairStReqVO; import cn.iocoder.yudao.module.stockTransfer.vo.DlRepairStRespVO; +import cn.iocoder.yudao.module.stockTransfer.vo.DlRepairStiQueryVO; import com.baomidou.dynamic.datasource.annotation.DSTransactional; +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; @@ -17,6 +23,11 @@ import org.springframework.stereotype.Service; import javax.annotation.Resource; +import java.util.List; +import java.util.Set; +import java.util.stream.Collectors; +import java.util.stream.Stream; + import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception; /** @@ -32,6 +43,9 @@ public class DlRepairStServiceImpl extends ServiceImpl getStPage(DlRepairStReqVO repairStReqVO, Page page){ return baseMapper.getStPage(repairStReqVO, page); } + + /** + * 调拨单(出库、入库) 作废 + * + * @author 小李 + * @date 15:11 2024/9/22 + * @param repairStReqVO 请求对象 + **/ + @Override + public void voidSt(DlRepairStReqVO repairStReqVO){ + baseMapper.updateById(repairStReqVO); + } + + /** + * 调拨单(出库、入库) 详情查询 + * + * @author 小李 + * @date 15:52 2024/9/22 + * @param id 查询ID + **/ + @Override + public DlRepairStRespVO getSt(String id){ + // 查主表 + DlRepairSt dlRepairSt = baseMapper.selectById(id); + DlRepairStRespVO result = BeanUtil.toBean(dlRepairSt, DlRepairStRespVO.class); + // 查子表 + List repairStis = repairStiService.list(new LambdaQueryWrapper().eq(DlRepairSti::getStId, result.getId())); + Set goodIds = repairStis.stream().map(DlRepairSti::getGoodsId).collect(Collectors.toSet()); + List items = repairStis.stream().map(item -> BeanUtil.toBean(item, DlRepairStiQueryVO.class)).collect(Collectors.toList()); + // 查商品 + List repairWares = waresService.listByIds(goodIds); + // 映射 + items.forEach(item -> { + repairWares.stream().filter(i -> i.getId().equals(item.getGoodsId())).findFirst().ifPresent(item::setWares); + }); + result.setItems(items); + return result; + } } diff --git a/dl-module-repair/src/main/java/cn/iocoder/yudao/module/stockTransfer/service/impl/DlRepairStiServiceImpl.java b/dl-module-repair/src/main/java/cn/iocoder/yudao/module/stockTransfer/service/impl/DlRepairStiServiceImpl.java index 1821acce..4714e131 100644 --- a/dl-module-repair/src/main/java/cn/iocoder/yudao/module/stockTransfer/service/impl/DlRepairStiServiceImpl.java +++ b/dl-module-repair/src/main/java/cn/iocoder/yudao/module/stockTransfer/service/impl/DlRepairStiServiceImpl.java @@ -1,14 +1,26 @@ package cn.iocoder.yudao.module.stockTransfer.service.impl; +import cn.hutool.core.bean.BeanUtil; +import cn.iocoder.yudao.module.project.entity.RepairWares; +import cn.iocoder.yudao.module.project.service.RepairWaresService; +import cn.iocoder.yudao.module.stockTransfer.entity.DlRepairSt; import cn.iocoder.yudao.module.stockTransfer.entity.DlRepairSti; import cn.iocoder.yudao.module.stockTransfer.mapper.DlRepairStiMapper; +import cn.iocoder.yudao.module.stockTransfer.service.DlRepairStService; import cn.iocoder.yudao.module.stockTransfer.service.DlRepairStiService; +import cn.iocoder.yudao.module.stockTransfer.vo.DlRepairStiQueryVO; import cn.iocoder.yudao.module.stockTransfer.vo.DlRepairStiReqVO; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.context.annotation.Lazy; import org.springframework.stereotype.Service; +import javax.annotation.Resource; +import java.util.List; +import java.util.Set; +import java.util.stream.Collectors; + /** * 针对表【dl_repair_sti(调拨单子表)】的数据库操作Service实现 * @@ -19,6 +31,13 @@ import org.springframework.stereotype.Service; public class DlRepairStiServiceImpl extends ServiceImpl implements DlRepairStiService { + @Resource + private RepairWaresService waresService; + + @Resource + @Lazy + private DlRepairStService stService; + /** * 调拨单子表 分页 * @@ -31,6 +50,32 @@ public class DlRepairStiServiceImpl extends ServiceImpl getStIsWares(List ids){ + // 查子表 + List dlRepairStis = baseMapper.selectBatchIds(ids); + List result = dlRepairStis.stream().map(item -> BeanUtil.toBean(item, DlRepairStiQueryVO.class)).collect(Collectors.toList()); + // 查配件 + Set goodsIds = result.stream().map(DlRepairStiQueryVO::getGoodsId).collect(Collectors.toSet()); + List wares = waresService.listByIds(goodsIds); + // 查主表 + Set stIds = result.stream().map(DlRepairStiQueryVO::getStId).collect(Collectors.toSet()); + List dlRepairSts = stService.listByIds(stIds); + // 映射 + result.forEach(item -> { + wares.stream().filter(i -> i.getId().equals(item.getGoodsId())).findFirst().ifPresent(item::setWares); + dlRepairSts.stream().filter(i -> i.getId().equals(item.getStId())).findFirst().ifPresent(item::setSt); + }); + return result; + } + } diff --git a/dl-module-repair/src/main/java/cn/iocoder/yudao/module/stockTransfer/vo/DlRepairStReqVO.java b/dl-module-repair/src/main/java/cn/iocoder/yudao/module/stockTransfer/vo/DlRepairStReqVO.java index 583d0289..30917975 100644 --- a/dl-module-repair/src/main/java/cn/iocoder/yudao/module/stockTransfer/vo/DlRepairStReqVO.java +++ b/dl-module-repair/src/main/java/cn/iocoder/yudao/module/stockTransfer/vo/DlRepairStReqVO.java @@ -1,7 +1,13 @@ package cn.iocoder.yudao.module.stockTransfer.vo; import cn.iocoder.yudao.module.stockTransfer.entity.DlRepairSt; +import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; +import org.springframework.format.annotation.DateTimeFormat; + +import java.util.Date; + +import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; /** * 调拨单 请求VO @@ -10,4 +16,8 @@ import lombok.Data; **/ @Data public class DlRepairStReqVO extends DlRepairSt { + + @Schema(description = "时间区间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private Date[] searchTimeArray; } diff --git a/dl-module-repair/src/main/java/cn/iocoder/yudao/module/stockTransfer/vo/DlRepairStRespVO.java b/dl-module-repair/src/main/java/cn/iocoder/yudao/module/stockTransfer/vo/DlRepairStRespVO.java index 48fc27b4..70582641 100644 --- a/dl-module-repair/src/main/java/cn/iocoder/yudao/module/stockTransfer/vo/DlRepairStRespVO.java +++ b/dl-module-repair/src/main/java/cn/iocoder/yudao/module/stockTransfer/vo/DlRepairStRespVO.java @@ -16,4 +16,7 @@ public class DlRepairStRespVO extends DlRepairSt { // 商品列表 private List goodsList; + + // 商品详情列表(上面那个在别的地方用了,节约时间就不改了) + private List items; } diff --git a/dl-module-repair/src/main/java/cn/iocoder/yudao/module/stockTransfer/vo/DlRepairStiQueryVO.java b/dl-module-repair/src/main/java/cn/iocoder/yudao/module/stockTransfer/vo/DlRepairStiQueryVO.java new file mode 100644 index 00000000..f39fba59 --- /dev/null +++ b/dl-module-repair/src/main/java/cn/iocoder/yudao/module/stockTransfer/vo/DlRepairStiQueryVO.java @@ -0,0 +1,23 @@ +package cn.iocoder.yudao.module.stockTransfer.vo; + +import cn.iocoder.yudao.module.project.entity.RepairWares; +import cn.iocoder.yudao.module.stockTransfer.entity.DlRepairSt; +import cn.iocoder.yudao.module.stockTransfer.entity.DlRepairSti; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +/** + * 调拨单(出库、入库) 用于查询 + * + * @author 小李 + * @date 15:50 2024/9/22 +**/ +@Data +public class DlRepairStiQueryVO extends DlRepairSti { + + @Schema(pattern = "配件信息") + private RepairWares wares; + + @Schema(pattern = "主表信息") + private DlRepairSt st; +} diff --git a/dl-module-repair/src/main/java/cn/iocoder/yudao/module/stockTransfer/vo/DlRepairStiReqVO.java b/dl-module-repair/src/main/java/cn/iocoder/yudao/module/stockTransfer/vo/DlRepairStiReqVO.java index 10c19e51..6e130727 100644 --- a/dl-module-repair/src/main/java/cn/iocoder/yudao/module/stockTransfer/vo/DlRepairStiReqVO.java +++ b/dl-module-repair/src/main/java/cn/iocoder/yudao/module/stockTransfer/vo/DlRepairStiReqVO.java @@ -1,7 +1,13 @@ package cn.iocoder.yudao.module.stockTransfer.vo; import cn.iocoder.yudao.module.stockTransfer.entity.DlRepairSti; +import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; +import org.springframework.format.annotation.DateTimeFormat; + +import java.util.Date; + +import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; /** * 调拨单子表 请求VO @@ -10,4 +16,17 @@ import lombok.Data; **/ @Data public class DlRepairStiReqVO extends DlRepairSti { + + @Schema(description = "时间区间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private Date[] searchTimeArray; + + /** 调入门店 */ + private String inCorpId; + + /** 调出门店 */ + private String outCorpId; + + /** 查询关键字 */ + private String query; } diff --git a/dl-module-repair/src/main/java/cn/iocoder/yudao/module/tickets/controller/admin/DlRepairTicketsController.java b/dl-module-repair/src/main/java/cn/iocoder/yudao/module/tickets/controller/admin/DlRepairTicketsController.java index 1d1b8545..5ee8b36e 100644 --- a/dl-module-repair/src/main/java/cn/iocoder/yudao/module/tickets/controller/admin/DlRepairTicketsController.java +++ b/dl-module-repair/src/main/java/cn/iocoder/yudao/module/tickets/controller/admin/DlRepairTicketsController.java @@ -72,5 +72,19 @@ public class DlRepairTicketsController { public CommonResult getTicketsById(@RequestParam("id") String id){ return success(dlRepairTicketsService.getTicketsById(id)); } + + /** + * 维修工单表 作废 + * + * @author 小李 + * @date 19:46 2024/9/22 + * @param repairTicketsReqVO 工单对象 + **/ + @PostMapping("/void") + @Operation(summary = "维修工单表 作废") + public CommonResult setTicketsVoid(@RequestBody DlRepairTicketsReqVO repairTicketsReqVO){ + dlRepairTicketsService.setTicketsVoid(repairTicketsReqVO); + return CommonResult.ok(); + } } diff --git a/dl-module-repair/src/main/java/cn/iocoder/yudao/module/tickets/service/DlRepairTicketsService.java b/dl-module-repair/src/main/java/cn/iocoder/yudao/module/tickets/service/DlRepairTicketsService.java index b59a737b..ecd49384 100644 --- a/dl-module-repair/src/main/java/cn/iocoder/yudao/module/tickets/service/DlRepairTicketsService.java +++ b/dl-module-repair/src/main/java/cn/iocoder/yudao/module/tickets/service/DlRepairTicketsService.java @@ -41,4 +41,13 @@ public interface DlRepairTicketsService extends IService { * @param id 工单ID **/ DlRepairTicketsRespVO getTicketsById(String id); + + /** + * 维修工单表 作废 + * + * @author 小李 + * @date 19:46 2024/9/22 + * @param repairTicketsReqVO 工单对象 + **/ + void setTicketsVoid(DlRepairTicketsReqVO repairTicketsReqVO); } diff --git a/dl-module-repair/src/main/java/cn/iocoder/yudao/module/tickets/service/impl/DlRepairTicketsServiceImpl.java b/dl-module-repair/src/main/java/cn/iocoder/yudao/module/tickets/service/impl/DlRepairTicketsServiceImpl.java index 33c5711a..78e94309 100644 --- a/dl-module-repair/src/main/java/cn/iocoder/yudao/module/tickets/service/impl/DlRepairTicketsServiceImpl.java +++ b/dl-module-repair/src/main/java/cn/iocoder/yudao/module/tickets/service/impl/DlRepairTicketsServiceImpl.java @@ -5,6 +5,12 @@ import cn.hutool.core.collection.CollectionUtil; import cn.hutool.core.util.ObjectUtil; import cn.iocoder.yudao.common.RepairErrorCodeConstants; import cn.iocoder.yudao.framework.security.core.util.SecurityFrameworkUtils; +import cn.iocoder.yudao.module.other.entity.DlRepairOther; +import cn.iocoder.yudao.module.other.service.DlRepairOtherService; +import cn.iocoder.yudao.module.project.entity.RepairProject; +import cn.iocoder.yudao.module.project.entity.RepairWares; +import cn.iocoder.yudao.module.project.service.RepairProjectService; +import cn.iocoder.yudao.module.project.service.RepairWaresService; import cn.iocoder.yudao.module.system.api.dept.DeptApi; import cn.iocoder.yudao.module.system.api.dept.dto.DeptRespDTO; import cn.iocoder.yudao.module.tickets.entity.DlRepairTickets; @@ -14,6 +20,7 @@ import cn.iocoder.yudao.module.tickets.service.DlRepairTicketsService; import cn.iocoder.yudao.module.tickets.service.DlRepairTitemService; import cn.iocoder.yudao.module.tickets.vo.DlRepairTicketsReqVO; import cn.iocoder.yudao.module.tickets.vo.DlRepairTicketsRespVO; +import cn.iocoder.yudao.module.tickets.vo.DlRepairTitemReqVO; import com.baomidou.dynamic.datasource.annotation.DSTransactional; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; @@ -25,6 +32,7 @@ import javax.annotation.Resource; import java.math.BigDecimal; import java.util.List; +import java.util.Set; import java.util.stream.Collectors; import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception; @@ -45,6 +53,15 @@ public class DlRepairTicketsServiceImpl extends ServiceImpl itemList = titemService.list(new LambdaQueryWrapper().eq(DlRepairTitem::getTicketId, id)); - result.setItemList(itemList); + List items = itemList.stream().map(item -> BeanUtil.toBean(item, DlRepairTitemReqVO.class)).collect(Collectors.toList()); + // 取项目 + List projects = items.stream().filter(item -> item.getItemType().equals("01")).collect(Collectors.toList()); + if (CollectionUtil.isNotEmpty(projects)){ + Set ids = projects.stream().map(DlRepairTitemReqVO::getProjectId).collect(Collectors.toSet()); + List repairProjects = projectService.listByIds(ids); + items.forEach(item -> repairProjects.stream().filter(i -> i.getId().equals(item.getProjectId())).findFirst().ifPresent(item::setProject)); + } + + // 取配件 + List wares = items.stream().filter(item -> item.getItemType().equals("02")).collect(Collectors.toList()); + if (CollectionUtil.isNotEmpty(wares)){ + Set ids = wares.stream().map(DlRepairTitemReqVO::getPartId).collect(Collectors.toSet()); + List repairWares = waresService.listByIds(ids); + items.forEach(item -> repairWares.stream().filter(i -> i.getId().equals(item.getPartId())).findFirst().ifPresent(item::setWare)); + } + // 取附加 + List others = items.stream().filter(item -> item.getItemType().equals("03")).collect(Collectors.toList()); + if (CollectionUtil.isNotEmpty(others)){ + Set ids = others.stream().map(DlRepairTitemReqVO::getOtherId).collect(Collectors.toSet()); + List dlRepairOthers = otherService.listByIds(ids); + items.forEach(item -> dlRepairOthers.stream().filter(i -> i.getId().equals(item.getOtherId())).findFirst().ifPresent(item::setOther)); + } + result.setItems(items); return result; } + + /** + * 维修工单表 作废 + * + * @author 小李 + * @date 19:46 2024/9/22 + * @param repairTicketsReqVO 工单对象 + **/ + @Override + public void setTicketsVoid(DlRepairTicketsReqVO repairTicketsReqVO){ + baseMapper.updateById(repairTicketsReqVO); + } } diff --git a/dl-module-repair/src/main/java/cn/iocoder/yudao/module/tickets/vo/DlRepairTicketsRespVO.java b/dl-module-repair/src/main/java/cn/iocoder/yudao/module/tickets/vo/DlRepairTicketsRespVO.java index 9281bd20..51d8d0bf 100644 --- a/dl-module-repair/src/main/java/cn/iocoder/yudao/module/tickets/vo/DlRepairTicketsRespVO.java +++ b/dl-module-repair/src/main/java/cn/iocoder/yudao/module/tickets/vo/DlRepairTicketsRespVO.java @@ -16,4 +16,7 @@ public class DlRepairTicketsRespVO extends DlRepairTickets { /** 子表数组 */ private List itemList; + + /** 上面有地方在用,只能新用一个了,子表数组 */ + private List items; } diff --git a/dl-module-repair/src/main/java/cn/iocoder/yudao/module/tickets/vo/DlRepairTitemReqVO.java b/dl-module-repair/src/main/java/cn/iocoder/yudao/module/tickets/vo/DlRepairTitemReqVO.java index a03a790c..00d921b5 100644 --- a/dl-module-repair/src/main/java/cn/iocoder/yudao/module/tickets/vo/DlRepairTitemReqVO.java +++ b/dl-module-repair/src/main/java/cn/iocoder/yudao/module/tickets/vo/DlRepairTitemReqVO.java @@ -1,5 +1,8 @@ package cn.iocoder.yudao.module.tickets.vo; +import cn.iocoder.yudao.module.other.entity.DlRepairOther; +import cn.iocoder.yudao.module.project.entity.RepairProject; +import cn.iocoder.yudao.module.project.entity.RepairWares; import cn.iocoder.yudao.module.tickets.entity.DlRepairTitem; import lombok.Data; @@ -10,4 +13,14 @@ import lombok.Data; **/ @Data public class DlRepairTitemReqVO extends DlRepairTitem { + + // 项目详情 + private RepairProject project; + + // 配件详情 + private RepairWares ware; + + // 附加详情 + private DlRepairOther other; + } diff --git a/dl-module-repair/src/main/resources/mapper/stockOperate/DlRepairSoMapper.xml b/dl-module-repair/src/main/resources/mapper/stockOperate/DlRepairSoMapper.xml index b1541d9b..c7aade6c 100644 --- a/dl-module-repair/src/main/resources/mapper/stockOperate/DlRepairSoMapper.xml +++ b/dl-module-repair/src/main/resources/mapper/stockOperate/DlRepairSoMapper.xml @@ -52,10 +52,18 @@ diff --git a/dl-module-repair/src/main/resources/mapper/stockOperate/DlRepairSoiMapper.xml b/dl-module-repair/src/main/resources/mapper/stockOperate/DlRepairSoiMapper.xml index 894d6346..a6f22bad 100644 --- a/dl-module-repair/src/main/resources/mapper/stockOperate/DlRepairSoiMapper.xml +++ b/dl-module-repair/src/main/resources/mapper/stockOperate/DlRepairSoiMapper.xml @@ -33,7 +33,8 @@ left join dl_repair_so so on soi.so_id = so.id - where soi.deleted = '0' + left join dl_repair_wares drw on soi.goods_id = drw.id + where soi.deleted = '0' and so.so_status != '06' diff --git a/dl-module-repair/src/main/resources/mapper/stockTransfer/DlRepairStMapper.xml b/dl-module-repair/src/main/resources/mapper/stockTransfer/DlRepairStMapper.xml index 6ca9c49a..35dc3f64 100644 --- a/dl-module-repair/src/main/resources/mapper/stockTransfer/DlRepairStMapper.xml +++ b/dl-module-repair/src/main/resources/mapper/stockTransfer/DlRepairStMapper.xml @@ -37,7 +37,8 @@ st_status, st_time, remark, - dept_id + dept_id, + create_time from dl_repair_st st where st.deleted = '0' @@ -50,5 +51,17 @@ and st.in_corp_id = #{map.inCorpId} + + and st.st_status = #{map.stStatus} + + + and st.st_status != '04' + + + and (st.st_time between #{map.searchTimeArray[0]} and #{map.searchTimeArray[1]}) + + + and (st.st_no like concat('%', #{map.stNo}, '%') or st.remark like concat('%', #{map.stNo}, '%')) + diff --git a/dl-module-repair/src/main/resources/mapper/stockTransfer/DlRepairStiMapper.xml b/dl-module-repair/src/main/resources/mapper/stockTransfer/DlRepairStiMapper.xml index 690e277c..de47be1a 100644 --- a/dl-module-repair/src/main/resources/mapper/stockTransfer/DlRepairStiMapper.xml +++ b/dl-module-repair/src/main/resources/mapper/stockTransfer/DlRepairStiMapper.xml @@ -14,17 +14,40 @@ - select id, + select sti.id as id, st_id, goods_id, goods_count, goods_price, - remark + sti.remark as remark from dl_repair_sti sti + left join dl_repair_st st on sti.st_id = st.id + left join dl_repair_wares drw on sti.goods_id = drw.id where sti.deleted = '0' + and st.st_status != '04' diff --git a/dl-module-repair/src/main/resources/mapper/tickets/DlRepairTicketsMapper.xml b/dl-module-repair/src/main/resources/mapper/tickets/DlRepairTicketsMapper.xml index 1ffd84cc..978984d8 100644 --- a/dl-module-repair/src/main/resources/mapper/tickets/DlRepairTicketsMapper.xml +++ b/dl-module-repair/src/main/resources/mapper/tickets/DlRepairTicketsMapper.xml @@ -34,7 +34,7 @@ - + @@ -88,9 +88,12 @@