diff --git a/blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/entity/DistributionParcelNumberEntity.java b/blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/entity/DistributionParcelNumberEntity.java index de85365e8..c04a0213c 100644 --- a/blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/entity/DistributionParcelNumberEntity.java +++ b/blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/entity/DistributionParcelNumberEntity.java @@ -65,12 +65,12 @@ public class DistributionParcelNumberEntity extends TenantEntity { * 订单ID */ @ApiModelProperty(value = "订单ID") - private String stockArticleId; + private Long stockArticleId; /** - * 预约ID + * 包件ID */ - @ApiModelProperty(value = "预约ID") - private String parcelListId; + @ApiModelProperty(value = "包件ID") + private Long parcelListId; /** * 总数量 */ diff --git a/blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/entity/DistributionReservationZeroPackageEntity.java b/blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/entity/DistributionReservationZeroPackageEntity.java index 9fccd9fd4..06939aeaa 100644 --- a/blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/entity/DistributionReservationZeroPackageEntity.java +++ b/blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/entity/DistributionReservationZeroPackageEntity.java @@ -61,26 +61,26 @@ public class DistributionReservationZeroPackageEntity extends TenantEntity { */ @ApiModelProperty(value = "预留5") private String reserve5; - /** - * 10 自提 - */ - @ApiModelProperty(value = " 10 自提") - private Integer typesOf; /** * 订单ID */ @ApiModelProperty(value = "订单ID") - private String stockArticleId; + private Long stockArticleId; + /** + * 数量 + */ + @ApiModelProperty(value = "数量") + private Integer quantity; /** * 数量 */ @ApiModelProperty(value = "数量") - private String quantity; + private Integer realityQuantity; /** * 预约ID */ @ApiModelProperty(value = "预约ID") - private String reservationId; + private Long reservationId; /** * 零担包件状态;1-正常 ; 2 -取消 ; 3-新增 */ @@ -95,6 +95,6 @@ public class DistributionReservationZeroPackageEntity extends TenantEntity { * 零担包件类型;1-商配 2-市配 3-自提 */ @ApiModelProperty(value = "零担包件类型;1-商配 2-市配 3-自提") - private Integer type; + private String type; } diff --git a/blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/vo/app/StockupZeroVO.java b/blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/vo/app/StockupZeroVO.java index 158ea6be4..862409a1b 100644 --- a/blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/vo/app/StockupZeroVO.java +++ b/blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/vo/app/StockupZeroVO.java @@ -6,4 +6,11 @@ import java.io.Serializable; @Data public class StockupZeroVO implements Serializable { + + private String id; + private Integer quantity; + private String categoryName; + private Long stockArticleId; + + } diff --git a/blade-service/logpm-basic/src/main/java/com/logpm/basic/service/impl/BasicMaterialServiceImpl.java b/blade-service/logpm-basic/src/main/java/com/logpm/basic/service/impl/BasicMaterialServiceImpl.java index 02275225d..97d6d92ec 100644 --- a/blade-service/logpm-basic/src/main/java/com/logpm/basic/service/impl/BasicMaterialServiceImpl.java +++ b/blade-service/logpm-basic/src/main/java/com/logpm/basic/service/impl/BasicMaterialServiceImpl.java @@ -107,6 +107,7 @@ public class BasicMaterialServiceImpl extends BaseServiceImpl> getZeroMaterial(@ApiIgnore @RequestParam Map distributionParcelList, Query query) { + List pages = distributionParcelListService.getZeroMaterial(distributionParcelList); + return R.data(pages); + } + /** * 在库订单包件清单 自定义分页 */ diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/controller/DistributionSignforController.java b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/controller/DistributionSignforController.java index bfd3d79e1..c995518c2 100644 --- a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/controller/DistributionSignforController.java +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/controller/DistributionSignforController.java @@ -18,10 +18,12 @@ package com.logpm.distribution.controller; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport; import com.logpm.distribution.dto.DistributionAddvalueDTO; import com.logpm.distribution.dto.DistributionReservationStocklistDTO; import com.logpm.distribution.dto.DistributionSignforDTO; +import com.logpm.distribution.entity.DistributionSignPrintEntity; import com.logpm.distribution.entity.DistributionSignforEntity; import com.logpm.distribution.excel.DistributionSignforExcel; import com.logpm.distribution.service.IDistributionReservationService; @@ -43,6 +45,7 @@ import org.springblade.core.tool.api.R; import org.springblade.core.tool.constant.BladeConstant; import org.springblade.core.tool.utils.DateUtil; import org.springblade.core.tool.utils.Func; +import org.springblade.core.tool.utils.ObjectUtil; import org.springframework.web.bind.annotation.*; import springfox.documentation.annotations.ApiIgnore; @@ -50,6 +53,7 @@ import javax.servlet.http.HttpServletResponse; import javax.validation.Valid; import java.text.SimpleDateFormat; import java.util.Date; +import java.util.HashMap; import java.util.List; import java.util.Map; @@ -172,6 +176,46 @@ public class DistributionSignforController extends BladeController { } + /** + * 签收管理 回显照片信息 + */ + @PostMapping("/prices") + @ApiOperationSupport(order = 4) + @ApiOperation(value = "回显照片", notes = "回显照片") + public R prices(@Valid @RequestBody DistributionSignforDTO distributionSignfor) { + if(ObjectUtil.isNotEmpty(distributionSignfor.getReservationId())){ + Map> one = distributionSignforService.prices(distributionSignfor); + DistributionSignforEntity one1 = distributionSignforService.getOne(Wrappers.query().lambda().eq(DistributionSignforEntity::getReservationId, distributionSignfor.getReservationId())); + + Map map = new HashMap<>(); + map.put("deliverySignPictures",one); //司机签收图片 + map.put("driverRemarks",one1.getDriverRemarks()); //driverRemarks + + return R.data(map); + }else { + return R.fail(3002,"参数不能为空不对!!"); + } + } + + /** + * 签收管理 修改签收照片信息 + */ + @PutMapping("/updatePicture") + @ApiOperationSupport(order = 4) + @ApiOperation(value = "修改签收照片信息", notes = "修改签收照片信息") + public R updatePicture(@Valid @RequestBody DistributionSignforDTO distributionSignfor) { + if(ObjectUtil.isNotEmpty(distributionSignfor.getReservationId())){ + return R.data(distributionSignforService.updatePicture(distributionSignfor)); + }else { + return R.fail(3002,"参数不能为空不对!!"); + } + } + + + + + + /** * 获取司机定位打卡地址 */ diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/controller/DistributionStockArticleController.java b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/controller/DistributionStockArticleController.java index 84f45483e..591fb53bb 100644 --- a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/controller/DistributionStockArticleController.java +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/controller/DistributionStockArticleController.java @@ -26,6 +26,7 @@ import com.logpm.basicdata.feign.IBasicdataWarehouseClient; import com.logpm.distribution.dto.DistributionStockArticleDTO; import com.logpm.distribution.entity.DistributionStockArticleEntity; import com.logpm.distribution.excel.DistributionStockArticleExcel; +import com.logpm.distribution.excel.DistributionStockArticleImporter; import com.logpm.distribution.service.IDistributionStockArticleService; import com.logpm.distribution.vo.DistributionStockArticleVO; import com.logpm.distribution.vo.OrderPackgeCodeDataVO; @@ -34,6 +35,7 @@ import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiParam; import lombok.AllArgsConstructor; +import lombok.extern.slf4j.Slf4j; import org.springblade.common.utils.CommonUtil; import org.springblade.core.boot.ctrl.BladeController; import org.springblade.core.excel.util.ExcelUtil; @@ -48,6 +50,7 @@ import org.springblade.core.tool.utils.ObjectUtil; import org.springblade.system.feign.IDictBizClient; import org.springblade.system.feign.IUserClient; import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; import springfox.documentation.annotations.ApiIgnore; import javax.servlet.http.HttpServletResponse; @@ -64,6 +67,7 @@ import java.util.stream.Collectors; * @since 2023-06-13 */ @RestController +@Slf4j @AllArgsConstructor @RequestMapping("/distributionStockArticle") @Api(value = "配送在库订单", tags = "配送在库订单接口") @@ -399,6 +403,19 @@ public class DistributionStockArticleController extends BladeController { } + /** + * 导入物料基础信息 + */ + @PostMapping("import-stockArticle") + @ApiOperationSupport(order = 12) + @ApiOperation(value = "导入物料基础信息", notes = "传入excel") + public R importStockArticleEntry(MultipartFile file) { + log.info("传入>>>>>>>{}",file); + DistributionStockArticleImporter materialImporter = new DistributionStockArticleImporter(distributionStockArticleService); + ExcelUtil.save(file,materialImporter,DistributionStockArticleExcel.class); + return R.success("操作成功"); + } + diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/controller/DistributionStockupController.java b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/controller/DistributionStockupController.java index b38bfd06b..ea9c4ab82 100644 --- a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/controller/DistributionStockupController.java +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/controller/DistributionStockupController.java @@ -167,11 +167,11 @@ public class DistributionStockupController extends BladeController { return R.data(DistributionStockupWrapper.build().pageVO(pages)); } /** - * 备货信息表 分页 + * 备货信息表 查询备货人员信息 */ @GetMapping("/listUser") @ApiOperationSupport(order = 2) - @ApiOperation(value = "分页", notes = "传入distributionStockup") + @ApiOperation(value = "查询备货人员信息", notes = "传入distributionStockup") public R> listUser() { //获取当前登录用户 BladeUser user = AuthUtil.getUser(); diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/controller/DistrilbutionBillLadingController.java b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/controller/DistrilbutionBillLadingController.java index 3374f37fd..085cc6262 100644 --- a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/controller/DistrilbutionBillLadingController.java +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/controller/DistrilbutionBillLadingController.java @@ -256,6 +256,9 @@ public class DistrilbutionBillLadingController extends BladeController { @ApiOperationSupport(order = 1) @ApiOperation(value = "新增或修改", notes = "传入distrilbutionBillLading") public R submit(@Valid @RequestBody DistrilbutionBillLadingDTO distrilbutionBillLading) { + if(ObjectUtil.isEmpty(distrilbutionBillLading.getZeroType())){ + return R.fail(3003,"零担判断参数不能为空!!"); + } return R.status(distrilbutionBillLadingService.ownSaveOrUpdate(distrilbutionBillLading)); } diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/dto/DistrilbutionBillLadingDTO.java b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/dto/DistrilbutionBillLadingDTO.java index a1eb57f5e..3b823e9d4 100644 --- a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/dto/DistrilbutionBillLadingDTO.java +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/dto/DistrilbutionBillLadingDTO.java @@ -17,6 +17,7 @@ package com.logpm.distribution.dto; import com.fasterxml.jackson.annotation.JsonFormat; +import com.logpm.distribution.entity.DistributionParcelListEntity; import com.logpm.distribution.entity.DistributionStockArticleEntity; import com.logpm.distribution.entity.DistrilbutionBillLadingEntity; import lombok.Data; @@ -133,6 +134,10 @@ public class DistrilbutionBillLadingDTO extends DistrilbutionBillLadingEntity { * 库存品 */ private List stockDTOList; + /** + * 零担配送包件记录 + */ + private List parcelLisList; /** * 订单数据 */ @@ -141,6 +146,8 @@ public class DistrilbutionBillLadingDTO extends DistrilbutionBillLadingEntity { private List printList; private List warehouseIdList; + // 1 不是零担 2 是零担 + private String zeroType; @Data public static class Print{ diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/dto/app/StockupZeroDTO.java b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/dto/app/StockupZeroDTO.java index 88d3f44e7..6f335dfe6 100644 --- a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/dto/app/StockupZeroDTO.java +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/dto/app/StockupZeroDTO.java @@ -19,6 +19,6 @@ public class StockupZeroDTO implements Serializable { private String stockArticleId;//订单id private String[] stockArticleIdList;//订单id private String typeService;//备货类型 3 自提 - + private Long reservationId;//预约单id } diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/excel/DistributionStockArticleExcel.java b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/excel/DistributionStockArticleExcel.java index d25a17e4c..76130f046 100644 --- a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/excel/DistributionStockArticleExcel.java +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/excel/DistributionStockArticleExcel.java @@ -113,6 +113,12 @@ public class DistributionStockArticleExcel implements Serializable { @ColumnWidth(20) @ExcelProperty("仓库") private String warehouse; + /** + * 仓库 + */ + @ColumnWidth(20) + @ExcelProperty("仓库编码") + private String warehouseCode; /** * 入库时间 */ @@ -154,7 +160,7 @@ public class DistributionStockArticleExcel implements Serializable { */ @ColumnWidth(20) @ExcelProperty("服务类型") - private Integer typeService; + private String typeService; /** * 顾客名字 */ diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/excel/DistributionStockArticleImporter.java b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/excel/DistributionStockArticleImporter.java new file mode 100644 index 000000000..d0162b8ad --- /dev/null +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/excel/DistributionStockArticleImporter.java @@ -0,0 +1,27 @@ +package com.logpm.distribution.excel; + + +import com.logpm.distribution.service.IDistributionStockArticleService; +import lombok.RequiredArgsConstructor; +import org.springblade.core.excel.support.ExcelImporter; + +import java.util.List; + + +/** + * @program: LogisticsPlatform-Service + * @description: + * @author: lmy + * @create: 2023-08-09 10:26 + **/ +@RequiredArgsConstructor +public class DistributionStockArticleImporter implements ExcelImporter { + + private final IDistributionStockArticleService service; + + + @Override + public void save(List data) { + service.importMaterial(data); + } +} diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionSignforMapper.xml b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionSignforMapper.xml index fb818b7d7..b64b031cb 100644 --- a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionSignforMapper.xml +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionSignforMapper.xml @@ -252,27 +252,27 @@ diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/IDistributionAsyncService.java b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/IDistributionAsyncService.java index 0127e5ca1..2eb8b21c7 100644 --- a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/IDistributionAsyncService.java +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/IDistributionAsyncService.java @@ -3,6 +3,7 @@ package com.logpm.distribution.service; import com.logpm.distribution.dto.DistributionStockArticleDTO; import com.logpm.distribution.dto.app.DistrilbutionloadingscanDTO; import com.logpm.distribution.dto.app.StockupDTO; +import com.logpm.distribution.dto.app.StockupZeroDTO; import com.logpm.distribution.entity.DisStockListDetailEntity; import com.logpm.distribution.entity.DistributionParcelListEntity; import com.logpm.distribution.entity.DistributionReservationEntity; @@ -192,4 +193,9 @@ public interface IDistributionAsyncService { * @param parcelListEntity */ void checkReservationStatusByPackage(DistributionParcelListEntity parcelListEntity); + + /** + * 修改零担备货状态 + */ + void stockZero(StockupZeroDTO stockupDTO); } diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/IDistributionParcelListService.java b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/IDistributionParcelListService.java index 56b30cf59..3daf5a8b6 100644 --- a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/IDistributionParcelListService.java +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/IDistributionParcelListService.java @@ -114,4 +114,11 @@ public interface IDistributionParcelListService extends BaseService selectOrderInfoAllocationList(StockupDTO stockupDTO); + + /** + * 查询零担物料数据 + * @param distributionParcelList + * @return + */ + List getZeroMaterial(Map distributionParcelList); } diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/IDistributionStockArticleService.java b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/IDistributionStockArticleService.java index 0a3bfc57c..4bbf5a4da 100644 --- a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/IDistributionStockArticleService.java +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/IDistributionStockArticleService.java @@ -157,4 +157,10 @@ public interface IDistributionStockArticleService extends BaseService selectAllDistributionOrder(IPage page, Map distributionStockArticle); + + /** + * 零担数据导入 + * @param data + */ + void importMaterial(List data); } diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionAsyncServiceImpl.java b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionAsyncServiceImpl.java index 92a965e2f..db055e845 100644 --- a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionAsyncServiceImpl.java +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionAsyncServiceImpl.java @@ -9,6 +9,7 @@ import com.logpm.basicdata.feign.IBasicdataWarehouseClient; import com.logpm.distribution.dto.DistributionStockArticleDTO; import com.logpm.distribution.dto.app.DistrilbutionloadingscanDTO; import com.logpm.distribution.dto.app.StockupDTO; +import com.logpm.distribution.dto.app.StockupZeroDTO; import com.logpm.distribution.entity.*; import com.logpm.distribution.mapper.*; import com.logpm.distribution.service.*; @@ -43,6 +44,7 @@ import java.util.Date; import java.util.List; import java.util.Map; import java.util.Objects; +import java.util.concurrent.atomic.AtomicBoolean; import java.util.concurrent.atomic.AtomicInteger; import java.util.concurrent.atomic.AtomicReference; import java.util.stream.Collectors; @@ -77,6 +79,7 @@ public class DistributionAsyncServiceImpl implements IDistributionAsyncService { private final IDisStockListDetailService disStockListDetailService; private final IWarehouseUpdownTypeClient warehouseUpdownTypeClient; private final IBasicdataWarehouseClient warehouseClient; + private final IDistributionReservationZeroPackageService reservationZeroPackageService; @Override @@ -836,6 +839,37 @@ public class DistributionAsyncServiceImpl implements IDistributionAsyncService { distributionStockArticleService.updateById(stockArticleEntity); } + /** + * 修改零担备货信息 + */ + @Override + public void stockZero(StockupZeroDTO stockupDTO) { + log.debug("修改备货数据》》》",stockupDTO); + + List list = reservationZeroPackageService.list(Wrappers.query().lambda() + .eq(ObjectUtils.isNotNull(stockupDTO.getStockArticleId()), DistributionReservationZeroPackageEntity::getStockArticleId, stockupDTO.getStockArticleId()) + .in(ObjectUtils.isNotNull(stockupDTO.getStockArticleIdList()), DistributionReservationZeroPackageEntity::getStockArticleId, stockupDTO.getStockArticleIdList()) + .eq(DistributionReservationZeroPackageEntity::getReservationId, stockupDTO.getReservationId()) + ); + AtomicBoolean pian = new AtomicBoolean(true); + DistributionStockupEntity stockupEntity = new DistributionStockupEntity(); + list.stream().forEach(i -> { + if(!i.getQuantity().equals(i.getRealityQuantity())){ + //不同 + pian.set(false); + } + }); + if(pian.get()){ + stockupEntity.setId(stockupDTO.getStockupId()); + stockupEntity.setStockupStatus(StockupStatusConstant.yibeihuo.getValue()); + stockupEntity.setFixTime(new Date()); + }else{ + stockupEntity.setId(stockupDTO.getStockupId()); + stockupEntity.setStockupStatus(StockupStatusConstant.beihuozhong.getValue()); + } + distributionStockupService.updateById(stockupEntity); + } + /** * 自提签收片段是否签收完全 diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionParcelListServiceImpl.java b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionParcelListServiceImpl.java index 7dc9ff3e1..ecb442b58 100644 --- a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionParcelListServiceImpl.java +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionParcelListServiceImpl.java @@ -22,6 +22,7 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; import com.baomidou.mybatisplus.core.toolkit.StringUtils; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.logpm.basicdata.entity.BasicdataWarehouseEntity; import com.logpm.basicdata.feign.IBasicdataWarehouseClient; import com.logpm.distribution.dto.DistributionParcelListDTO; @@ -41,8 +42,10 @@ import org.springblade.common.utils.CommonUtil; import org.springblade.core.mp.base.BaseServiceImpl; import org.springblade.core.tool.utils.Func; import org.springblade.system.cache.DictBizCache; +import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Service; +import java.util.ArrayList; import java.util.List; import java.util.Map; import java.util.stream.Collectors; @@ -228,6 +231,38 @@ public class DistributionParcelListServiceImpl extends BaseServiceImpl getZeroMaterial(Map distributionParcelList) { + Object o = distributionParcelList.get("stockArticleId"); + QueryWrapper queryWrapper = new QueryWrapper<>(); + if(ObjectUtils.isNotNull(o)){ + String a= (String) o; + if(a.contains(",")){ + queryWrapper.in("stock_article_id",a.split(",")); + }else{ + queryWrapper.eq("stock_article_id",a); + } + }else{ + return null; + } + List distributionParcelListEntities = baseMapper.selectList(queryWrapper); + if(distributionParcelListEntities.isEmpty()){ + return null; + } + List list = new ArrayList<>(); + distributionParcelListEntities.forEach( i ->{ + DistributionParcelListVO parcelListVO = new DistributionParcelListVO(); + BeanUtils.copyProperties(i,parcelListVO); + list.add(parcelListVO); + }); + return list; + } + /** * * @param distributionParcelList diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionSignforServiceImpl.java b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionSignforServiceImpl.java index ffe030ba9..ec10d3922 100644 --- a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionSignforServiceImpl.java +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionSignforServiceImpl.java @@ -1800,18 +1800,24 @@ public class DistributionSignforServiceImpl extends BaseServiceImpl { DistributionSignPrintEntity distributionSignPrint = new DistributionSignPrintEntity(); BeanUtils.copyProperties(i,distributionSignPrint); distributionSignPrint.setReservationId(distributionSignfor.getReservationId()); + distributionSignPrint.setId(null); distributionSignPrintList.add(distributionSignPrint); }); }); - //添加 - return iDistributionSignPrintService.saveBatch(distributionSignPrintList); + if(!distributionSignPrintList.isEmpty()){ + //添加 + return iDistributionSignPrintService.saveBatch(distributionSignPrintList); + } + } return false; } diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionStockArticleServiceImpl.java b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionStockArticleServiceImpl.java index 24334eeac..8f182e531 100644 --- a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionStockArticleServiceImpl.java +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionStockArticleServiceImpl.java @@ -67,6 +67,8 @@ import org.springblade.core.tool.utils.BeanUtil; import org.springblade.core.tool.utils.Func; import org.springblade.core.tool.utils.ObjectUtil; import org.springblade.system.cache.DictBizCache; +import org.springblade.system.entity.DictBiz; +import org.springblade.system.feign.IDictBizClient; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -79,6 +81,7 @@ import java.io.IOException; import java.util.*; import java.util.concurrent.ScheduledThreadPoolExecutor; import java.util.concurrent.TimeUnit; +import java.util.function.Function; import java.util.stream.Collectors; /** @@ -115,6 +118,8 @@ public class DistributionStockArticleServiceImpl extends BaseServiceImpl data) { + List list = new ArrayList<>(); + data.forEach( i -> { + DistributionStockArticleEntity stockArticleEntity = new DistributionStockArticleEntity(); + + log.info("数据信息",i); + BasicdataWarehouseEntity warehouse = warehouseClient.getWarehouse(i.getWarehouse(), i.getWarehouseCode()); + stockArticleEntity.setWarehouseId(warehouse.getId()); + stockArticleEntity.setWarehouse(i.getWarehouse()); + stockArticleEntity.setServiceNumber(i.getServiceNumber()); + stockArticleEntity.setWarehouseEntryTime(new Date()); + stockArticleEntity.setCompleteSet(i.getTotalNumber() == i.getHandQuantity() ? 2 : 1); + stockArticleEntity.setIsZero("1"); + stockArticleEntity.setGenre(1); + stockArticleEntity.setStockupStatus("10"); + stockArticleEntity.setReservationStatus("10"); + stockArticleEntity.setOrderStatus("10"); + stockArticleEntity.setGroundingStatus("10"); + stockArticleEntity.setOrderReceiveStatus("10"); + stockArticleEntity.setFreezeStatus("10"); + stockArticleEntity.setBrand(i.getBrand()); + stockArticleEntity.setDescriptionGoods(i.getDescriptionGoods()); + stockArticleEntity.setOrderCode(i.getOrderSelfNumbering()); + stockArticleEntity.setMallName(i.getMallName()); + stockArticleEntity.setTotalNumber(i.getTotalNumber()); + stockArticleEntity.setHandQuantity(i.getHandQuantity()); + R> distriType = dictBizClient.getList("distribution_type"); + if(ObjectUtils.isNotNull(distriType)){ + List data1 = distriType.getData(); + + DictBiz dictBiz = data1.stream().filter(da -> { + return i.getTypeService().equals(da.getDictValue()); + }).findAny().get(); + stockArticleEntity.setTypeService(dictBiz.getDictKey());//仓库名称 + } + stockArticleEntity.setAcceptWarehouseName(i.getWarehouse()); + this.save(stockArticleEntity); + //添加包件信息 + DistributionParcelListEntity parcelListEntity = new DistributionParcelListEntity(); + parcelListEntity.setStockArticleId(stockArticleEntity.getId()); + parcelListEntity.setWarehouse(i.getWarehouse()); + parcelListEntity.setWarehouseId(warehouse.getId()); + parcelListEntity.setConditions(1); + parcelListEntity.setOrderCode(i.getOrderSelfNumbering()); + parcelListEntity.setServiceNumber(i.getServiceNumber()); + parcelListEntity.setBrandName(Optional.ofNullable(i.getBrand()).orElse(null)); + if(i.getDescriptionGoods().contains(",")){ + String[] split = i.getDescriptionGoods().split(","); + for (int i1 = 0; i1 < split.length; i1++) { + parcelListEntity.setFirsts(split[i1]); + parcelListEntity.setQuantity(i.getTotalNumber()/split.length); + distributionParcelListService.save(parcelListEntity); + DistributionParcelNumberEntity parcelNumberEntity = new DistributionParcelNumberEntity(); + parcelNumberEntity.setStockArticleId(stockArticleEntity.getId()); + parcelNumberEntity.setParcelListId(parcelListEntity.getId()); + parcelNumberEntity.setQuantity(parcelListEntity.getQuantity()); + parcelNumberEntity.setHandQuantity(0); + parcelNumberEntity.setDeliveryQuantity(0); + parcelNumberEntity.setSigninQuantity(0); + list.add(parcelNumberEntity); + parcelListEntity.setId(null); + } + }else{ + parcelListEntity.setFirsts(i.getDescriptionGoods()); + parcelListEntity.setQuantity(i.getTotalNumber()); + distributionParcelListService.save(parcelListEntity); + DistributionParcelNumberEntity parcelNumberEntity = new DistributionParcelNumberEntity(); + parcelNumberEntity.setStockArticleId(stockArticleEntity.getId()); + parcelNumberEntity.setParcelListId(parcelListEntity.getId()); + parcelNumberEntity.setQuantity(stockArticleEntity.getTotalNumber()); + parcelNumberEntity.setHandQuantity(0); + parcelNumberEntity.setDeliveryQuantity(0); + parcelNumberEntity.setSigninQuantity(0); + list.add(parcelNumberEntity); + } + }); + if(!list.isEmpty()){ + parcelNumberService.saveBatch(list); + } + } + @Override public DistributionStockArticleEntity findZeroByOrderCodeAndWarehouseId(String orderCode, Long warehouseId) { diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionStockupServiceImpl.java b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionStockupServiceImpl.java index 3bcafa71f..17740ccc4 100644 --- a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionStockupServiceImpl.java +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionStockupServiceImpl.java @@ -30,6 +30,7 @@ import com.logpm.basicdata.feign.IBasicdataGoodsAreaClient; import com.logpm.basicdata.feign.IBasicdataWarehouseClient; import com.logpm.basicdata.vo.BasicdataGoodsAreaVO; import com.logpm.distribution.bean.Resp; +import com.logpm.distribution.dto.DistributionParcelListDTO; import com.logpm.distribution.dto.app.StockupDTO; import com.logpm.distribution.dto.app.StockupZeroDTO; import com.logpm.distribution.entity.*; @@ -162,6 +163,9 @@ public class DistributionStockupServiceImpl extends BaseServiceImpl selectDistributionStockupPage(IPage page, DistributionStockupVO distributionStockup) { return page.setRecords(baseMapper.selectDistributionStockupPage(page, distributionStockup)); @@ -1878,11 +1882,16 @@ public class DistributionStockupServiceImpl extends BaseServiceImpl roleIds = sysClient.getRoleIds(tenantId, roleNames); R> listR = userSearchClient.listByRole(roleIds.getData()); BasicdataWarehouseEntity myCurrentWarehouse = basicdataWarehouseClient.getMyCurrentWarehouse(); + //有没有选择仓库信息 if(ObjectUtils.isNotNull(myCurrentWarehouse)){ - List collect = listR.getData().stream().filter(i -> - ObjectUtils.isNotNull(i.getDeptId()) ? i.getDeptId().equals(myCurrentWarehouse.getDepartment().toString()) : false - ).collect(Collectors.toList()); - return collect; + if(!listR.getData().isEmpty()){ + List collect = listR.getData().stream().filter(i -> + ObjectUtils.isNotNull(i.getDeptId()) ? i.getDeptId().equals(myCurrentWarehouse.getDepartment().toString()) : false + ).collect(Collectors.toList()); + return collect; + }else{ + return null; + } }else{ return listR.getData(); } @@ -1926,9 +1935,68 @@ public class DistributionStockupServiceImpl extends BaseServiceImpl zeroStockUpData = new ArrayList<>();; + if(stockupDTO.getTypeService().equals("3")){ + //自提 + if(ObjectUtils.isNull(stockupDTO.getAllocationId())){ + //没有货位 + //自提 + zeroStockUpData = distributionStockupService.getZeroStockUpDataMeiSelf(stockupDTO); + }else{ + //有 + zeroStockUpData = distributionStockupService.getZeroStockUpDataYouSelf(stockupDTO); + } + } else { + //商 ,市 + if(ObjectUtils.isNull(stockupDTO.getAllocationId())){ + //没有货位 + zeroStockUpData = distributionStockupService.getZeroStockUpDataMei(stockupDTO); + }else{ + //有 + zeroStockUpData = distributionStockupService.getZeroStockUpDataYou(stockupDTO); + } - return null; + } + List finalZeroStockUpData = zeroStockUpData; + List collect = stockupDTO.getList().stream().filter( //可以 + a -> { + return finalZeroStockUpData.stream().anyMatch(q -> a.getStockArticleId().equals(q.getStockArticleId()) && a.getQuantity() <= q.getQuantity()); + }).collect(Collectors.toList()); + //添加备货信息 + List stockEntityList = new ArrayList<>(); + collect.forEach( i -> { + DistributionStockEntity stockEntity = new DistributionStockEntity(); + stockEntity.setStockArticle(i.getStockArticleId()); + stockEntity.setStockupId(stockupDTO.getStockupId()); + stockEntity.setBillLadingId(stockupDTO.getReservationId()); + stockEntity.setConditions("2"); + stockEntity.setGoodsName(i.getFirsts()); + stockEntity.setOutboundType("3"); + stockEntity.setType(3); + stockEntityList.add(stockEntity); + //修改备货数量 + DistributionReservationZeroPackageEntity reservationZeroPackageEntity = new DistributionReservationZeroPackageEntity(); + reservationZeroPackageEntity.setRealityQuantity(i.getQuantity()); + reservationZeroPackageEntity.setId(i.getId()); + reservationZeroPackageService.updateById(reservationZeroPackageEntity); + }); + boolean b = distributionStockService.saveBatch(stockEntityList); + if(b){ + //修改备货状态 + distributionAsyncService.stockZero(stockupDTO); + return R.success("备货成功!"); + }else{ + // + return R.fail(3004,"修改失败!!"); + } } /** @@ -1938,22 +2006,22 @@ public class DistributionStockupServiceImpl extends BaseServiceImpl list = new ArrayList<>(); if(ObjectUtils.isNull(stockupDTO.getAllocationId())){ //没有货位信息 //有没有多个订单数据 - if(stockupDTO.getOrderCode().contains(",")){ - stockupDTO.setOrderCodeList(stockupDTO.getOrderCode().split(",")); - stockupDTO.setOrderCode(null); + if(stockupDTO.getStockArticleId().contains(",")){ + stockupDTO.setStockArticleIdList(stockupDTO.getStockArticleId().split(",")); + stockupDTO.setStockArticleId(null); } if(stockupDTO.getTypeService().equals("3")){ //自提 - List list = distributionStockupService.getZeroStockUpDataMeiSelf(stockupDTO); + list = distributionStockupService.getZeroStockUpDataMeiSelf(stockupDTO); } else { //商, 市 - List list = distributionStockupService.getZeroStockUpDataMei(stockupDTO); + list = distributionStockupService.getZeroStockUpDataMei(stockupDTO); } - - + return R.data(list); }else{ //有货位信息 //有没有多个订单数据 @@ -1963,17 +2031,14 @@ public class DistributionStockupServiceImpl extends BaseServiceImpl list = distributionStockupService.getZeroStockUpDataYouSelf(stockupDTO); + list = distributionStockupService.getZeroStockUpDataYouSelf(stockupDTO); } else { //商,市 - - List list = distributionStockupService.getZeroStockUpDataYou(stockupDTO); + list = distributionStockupService.getZeroStockUpDataYou(stockupDTO); } - - + return R.data(list); } - return null; + } } diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistrilbutionBillLadingServiceImpl.java b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistrilbutionBillLadingServiceImpl.java index f756228ea..c2b7951e8 100644 --- a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistrilbutionBillLadingServiceImpl.java +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistrilbutionBillLadingServiceImpl.java @@ -29,6 +29,7 @@ import com.logpm.basicdata.entity.BasicdataWarehouseEntity; import com.logpm.basicdata.feign.IBasicdataWarehouseClient; import com.logpm.distribution.bean.Resp; import com.logpm.distribution.config.RedissonConfig; +import com.logpm.distribution.dto.DistributionParcelListDTO; import com.logpm.distribution.dto.DistributionStockListDTO; import com.logpm.distribution.dto.DistrilbutionBillLadingDTO; import com.logpm.distribution.dto.app.BillLadingAppDTO; @@ -108,6 +109,9 @@ public class DistrilbutionBillLadingServiceImpl extends BaseServiceImpl selectDistrilbutionBillLadingPage(IPage page, DistrilbutionBillLadingVO distrilbutionBillLading) { @@ -1182,8 +1186,46 @@ public class DistrilbutionBillLadingServiceImpl extends BaseServiceImpl list = new ArrayList<>(); + boolean isZeroType = false; +// distrilbutionBillLading.setZeroType("1"); + if(distrilbutionBillLading.getZeroType().equals("2")){ + list = distrilbutionBillLading.getParcelLisList(); + distrilbutionBillLading.setParcelLisList(null); + isZeroType = true; + } this.save(distrilbutionBillLading); + if(isZeroType){ + if(list.isEmpty()){ + throw new ServiceException("类型数据未填写!!!"); + } + List zeroPackageEntityList = new ArrayList<>(); + //是 添加物料信息 + list.forEach(i -> { + DistributionReservationZeroPackageEntity zeroPackageEntity = new DistributionReservationZeroPackageEntity(); + zeroPackageEntity.setQuantity(i.getQuantity()); + zeroPackageEntity.setReservationId(distrilbutionBillLading.getId()); + zeroPackageEntity.setType("3"); + zeroPackageEntity.setCategoryName(i.getFirsts()); + zeroPackageEntity.setZeroPackageStatus("1"); + zeroPackageEntity.setStockArticleId(i.getStockArticleId()); + zeroPackageEntity.setRealityQuantity(0); + //修改包件配送数量 + //查询 + DistributionParcelNumberEntity one = distributionParcelNumberService.getOne(Wrappers.query().lambda().eq(DistributionParcelNumberEntity::getParcelListId, i.getId())); + if(ObjectUtils.isNotNull(one)) { + DistributionParcelNumberEntity parcelNumberEntity = new DistributionParcelNumberEntity(); + parcelNumberEntity.setId(one.getId()); + parcelNumberEntity.setDeliveryQuantity(one.getDeliveryQuantity()+i.getQuantity()); + distributionParcelNumberService.updateById(parcelNumberEntity); + } + zeroPackageEntityList.add(zeroPackageEntity); + }); + distributionZeroPackageService.saveBatch(zeroPackageEntityList); + } // 创建备货任务 DistributionStockupEntity distributionStockupEntity = buildDistributionStockupEntityBydistrilbutionBillLading(distrilbutionBillLading);