diff --git a/blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/entity/DistributionLoadscanEntity.java b/blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/entity/DistributionLoadscanEntity.java index 8b2d65d12..2b9bd4e7c 100644 --- a/blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/entity/DistributionLoadscanEntity.java +++ b/blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/entity/DistributionLoadscanEntity.java @@ -268,4 +268,26 @@ public class DistributionLoadscanEntity extends TenantEntity { @ApiModelProperty(value = "包内数量") private Integer packageNub; + /** + * 签收状态(1-未签收,2签收) + */ + @ApiModelProperty(value = "签收状态(1-未签收,2签收)") + private Integer signforState; + + /** + * 是否再签收(1-不是,2-是) + */ + @ApiModelProperty(value = "是否再签收(1-不是,2-是)") + private Integer isSignfor; + /** + * 异常签收原因 + */ + @ApiModelProperty(value = "异常签收原因") + private String abnormalNote; + /** + * 签收数量 + */ + @ApiModelProperty(value = "签收数量") + private Integer receivedQuantity; + } diff --git a/blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/entity/DistributionSigndetailEntity.java b/blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/entity/DistributionSigndetailEntity.java index 7117d4cd9..42973f3e8 100644 --- a/blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/entity/DistributionSigndetailEntity.java +++ b/blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/entity/DistributionSigndetailEntity.java @@ -152,7 +152,7 @@ public class DistributionSigndetailEntity extends TenantEntity { * 是否齐套 */ @ApiModelProperty(value = "是否齐套") - private String isKitting; + private String completeSet; /** * 品牌 */ diff --git a/blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/entity/DistributionSignforEntity.java b/blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/entity/DistributionSignforEntity.java index 733278373..4297ebc52 100644 --- a/blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/entity/DistributionSignforEntity.java +++ b/blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/entity/DistributionSignforEntity.java @@ -236,7 +236,6 @@ public class DistributionSignforEntity extends TenantEntity { @ApiModelProperty(value = "编号") private String number; - /** * 配送时间 */ diff --git a/blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/vo/DistributionSigndetailVO.java b/blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/vo/DistributionSigndetailVO.java index 569e6339a..68aebd870 100644 --- a/blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/vo/DistributionSigndetailVO.java +++ b/blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/vo/DistributionSigndetailVO.java @@ -69,9 +69,9 @@ public class DistributionSigndetailVO extends DistributionSigndetailEntity { // private String orderId; /** - * 签收时间 + * 文员签收时间 */ - @ApiModelProperty(value = "签收时间") + @ApiModelProperty(value = "文员签收时间") // @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8") private String signingTime; /** diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/controller/DistributionDeliveryListController.java b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/controller/DistributionDeliveryListController.java index 8fc58375a..905de36e0 100644 --- a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/controller/DistributionDeliveryListController.java +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/controller/DistributionDeliveryListController.java @@ -128,6 +128,17 @@ public class DistributionDeliveryListController extends BladeController { return msg; } + /** + * 配送管理 装车扫描(取消) + */ + @PostMapping("/loadingscanoff") + @ApiOperationSupport(order = 2) + @ApiOperation(value = "分页", notes = "传入distributionDeliveryList") + public R loadingscanoff(@Valid @RequestBody DistrilbutionloadingscanDTO distrilbutionloadingscanDTO) { + R msg = distributionDeliveryListService.loadingscanoff(distrilbutionloadingscanDTO); + return msg; + } + /** * 配送管理 装车扫描(一件装车) */ diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/dto/DistrilbutionloadingscanDTO.java b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/dto/DistrilbutionloadingscanDTO.java index 6d11ef167..7a2151fcc 100644 --- a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/dto/DistrilbutionloadingscanDTO.java +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/dto/DistrilbutionloadingscanDTO.java @@ -12,14 +12,22 @@ public class DistrilbutionloadingscanDTO { /** - * 扫描包条信息 + * 扫描码 */ - @ApiModelProperty(value = "扫描包条信息") + @ApiModelProperty(value = "扫描码") private String barcode; + + + /** + * 配送任务Id + */ + @ApiModelProperty(value = "配送任务Id") + private Long deliveryId; /** * 扫描物品 */ @ApiModelProperty(value = "扫描物品(1-包条,2-托盘)") + @NotEmpty(message = "扫描物品不能为空") private Integer type; diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionDeliveryListMapper.xml b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionDeliveryListMapper.xml index b5acc1429..e51ecad28 100644 --- a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionDeliveryListMapper.xml +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionDeliveryListMapper.xml @@ -144,9 +144,6 @@ and lddl.distribution_company = #{param.distributionCompany} - - and lddl.type = #{param.type} - and lddl.state = #{param.state} @@ -187,9 +184,6 @@ and lddl.distribution_company = #{param.distributionCompany} - - and lddl.type = #{param.type} - and lddl.state = #{param.state} @@ -226,9 +220,7 @@ and lddl.distribution_company = #{param.distributionCompany} - - and lddl.type = #{param.type} - + and lddl.state = #{param.state} @@ -269,9 +261,6 @@ and lddl.distribution_company = #{param.distributionCompany} - - and lddl.type = #{param.type} - and lddl.state = #{param.state} diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionLoadscanMapper.java b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionLoadscanMapper.java index 7ad076d30..6e3f5b195 100644 --- a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionLoadscanMapper.java +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionLoadscanMapper.java @@ -55,7 +55,7 @@ public interface DistributionLoadscanMapper extends BaseMapper - + UPDATE logpm_distribution_loadscan SET scan_status = 2, loaded_nub = CASE WHEN ( loaded_nub + 1 ) > package_nub THEN package_nub ELSE ( loaded_nub + 1 ) - END where package_id = #{id} + END where id = #{id} + + + + UPDATE logpm_distribution_loadscan + SET scan_status = 1, + loaded_nub = + CASE + WHEN ( loaded_nub - 1 ) < 0 THEN + package_nub ELSE ( loaded_nub - 1 ) + END where id = #{id} diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/IDistributionDeliveryListService.java b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/IDistributionDeliveryListService.java index 6ce73eb76..70e81d55d 100644 --- a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/IDistributionDeliveryListService.java +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/IDistributionDeliveryListService.java @@ -92,4 +92,8 @@ public interface IDistributionDeliveryListService extends BaseService selectDistributionDeliveryListPage(IPage page, DistributionDeliveryListDTO distributionDeliveryList) { //转换创建时间 @@ -105,13 +106,13 @@ public class DistributionDeliveryListServiceImpl extends BaseServiceImpl stripList =distributionDeliveryInfoMapper.selectStripList(detail.getId()); + List stripList = distributionDeliveryInfoMapper.selectStripList(detail.getId()); distributionDeliveryListVO.setPackadeList(stripList); - if (detail.getSource()==1){ - //查询客户信息 - List customList = distributionDeliveryInfoMapper.selectcustomList(detail.getId()); - distributionDeliveryListVO.setReservationList(customList); - }else if (detail.getSource()==2){ + if (detail.getSource() == 1) { + //查询客户信息 + List customList = distributionDeliveryInfoMapper.selectcustomList(detail.getId()); + distributionDeliveryListVO.setReservationList(customList); + } else if (detail.getSource() == 2) { //查询订单信息 List customList = distributionDeliveryInfoMapper.selectcustomListByOrderId(detail.getOrderId()); distributionDeliveryListVO.setReservationList(customList); @@ -126,8 +127,6 @@ public class DistributionDeliveryListServiceImpl extends BaseServiceImpl>>>>>>>{}",redisCache.get("...")); DistributionstatisticsnmbVO distributionstatisticsnmbVO = new DistributionstatisticsnmbVO(); //商配车次 @@ -154,51 +153,51 @@ public class DistributionDeliveryListServiceImpl extends BaseServiceImpl>>>>>>>>{}", distributionDeliveryList); //获取关联的客户信息 - if (distributionDeliveryList.getSource() ==1){ - String reservationId = distributionDeliveryList.getReservationId(); - List reservationIds = Arrays.asList(Long.valueOf(String.valueOf(reservationId.split(",")))); - //查询客户信息,装车情况 + if (distributionDeliveryList.getSource() == 1) { + String reservationId = distributionDeliveryList.getReservationId(); + List reservationIds = Arrays.asList(Long.valueOf(String.valueOf(reservationId.split(",")))); + //查询客户信息,装车情况 // List distributionDeliveryInfoEntities = distributionDeliveryInfoMapper.selectList(new QueryWrapper().lambda() // .eq(DistributionDeliveryInfoEntity::getLoadedState, "2") // .in(null != reservationIds && reservationIds.size() > 0, DistributionDeliveryInfoEntity::getReservationId, reservationIds) // ); - //统计客户的配送数量,加入签收表(通过预约单查询总数量) - List distributionReservationEntities = distributionReservationMapper.selectBatchIds(reservationIds); - ArrayList distributionSignforEntities = new ArrayList(); - //TODO 冗余加入签收表 - distributionReservationEntities.forEach(e->{ - DistributionSignforEntity distributionSignforEntity = new DistributionSignforEntity(); - Func.copy(e,distributionSignforEntity); - distributionSignforEntity.setReservationId(e.getId()); - distributionSignforEntity.setConsigneeName(e.getConsignee()); - distributionSignforEntity.setWarehouseId(distributionDeliveryList.getWarehouseId()); - distributionSignforEntity.setWarehouseName(distributionDeliveryList.getWarehouseName()); - distributionSignforEntity.setTrainNumber(distributionDeliveryList.getTrainNumber()); - distributionSignforEntity.setDeliveryDriverName(distributionDeliveryList.getDriverName()); - distributionSignforEntity.setDeliveryDriverId(distributionDeliveryList.getDriverId()); - //配送时间 - SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss"); - String format = simpleDateFormat.format(new Date()); - distributionSignforEntity.setDeliveryTime(format); - //通过客户查询已经上车的订单(待定) - // String orderIds = distributionDeliveryInfoMapper.selectorderIdList(e.getId()); - distributionSignforEntity.setOrderId(e.getStockArticleId()); - //查询订单总数 - Integer i = StringUtils.countMatches(e.getStockArticleId(), ",")+1; - distributionSignforEntity.setOrderTotal(i); - //该客户总件数 - Integer i1 =distributionDeliveryInfoMapper.selectWrapCount(e.getId()); - distributionSignforEntity.setTotal(i1); - //装车件数 - Integer dre = distributionLoadscanMapper.selectWrapdreCount(e.getId()); - distributionSignforEntity.setLoadedNumber(dre); - //签收状态 - distributionSignforEntity.setSigningStatus("1"); - distributionSignforEntity.setReservationId(e.getId()); - distributionSignforEntities.add(distributionSignforEntity); - }); + //统计客户的配送数量,加入签收表(通过预约单查询总数量) + List distributionReservationEntities = distributionReservationMapper.selectBatchIds(reservationIds); + ArrayList distributionSignforEntities = new ArrayList(); + //TODO 冗余加入签收表 + distributionReservationEntities.forEach(e -> { + DistributionSignforEntity distributionSignforEntity = new DistributionSignforEntity(); + Func.copy(e, distributionSignforEntity); + distributionSignforEntity.setReservationId(e.getId()); + distributionSignforEntity.setConsigneeName(e.getConsignee()); + distributionSignforEntity.setWarehouseId(distributionDeliveryList.getWarehouseId()); + distributionSignforEntity.setWarehouseName(distributionDeliveryList.getWarehouseName()); + distributionSignforEntity.setTrainNumber(distributionDeliveryList.getTrainNumber()); + distributionSignforEntity.setDeliveryDriverName(distributionDeliveryList.getDriverName()); + distributionSignforEntity.setDeliveryDriverId(distributionDeliveryList.getDriverId()); + //配送时间 + SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss"); + String format = simpleDateFormat.format(new Date()); + distributionSignforEntity.setDeliveryTime(format); + //通过客户查询已经上车的订单(待定) + // String orderIds = distributionDeliveryInfoMapper.selectorderIdList(e.getId()); + distributionSignforEntity.setOrderId(e.getStockArticleId()); + //查询订单总数 + Integer i = StringUtils.countMatches(e.getStockArticleId(), ",") + 1; + distributionSignforEntity.setOrderTotal(i); + //该客户总件数 + Integer i1 = distributionDeliveryInfoMapper.selectWrapCount(e.getId()); + distributionSignforEntity.setTotal(i1); + //装车件数 + Integer dre = distributionLoadscanMapper.selectWrapdreCount(e.getId()); + distributionSignforEntity.setLoadedNumber(dre); + //签收状态 + distributionSignforEntity.setSigningStatus("1"); + distributionSignforEntity.setReservationId(e.getId()); + distributionSignforEntities.add(distributionSignforEntity); + }); distributionSignforService.saveBatch(distributionSignforEntities); - }else { + } else { } //获取关联订单 @@ -208,11 +207,11 @@ public class DistributionDeliveryListServiceImpl extends BaseServiceImpl distributionStockArticleEntities = distributionStockArticleMapper.selectBatchIds(orderIds); //插入配送详情表 ArrayList arrayList = new ArrayList<>(); - distributionStockArticleEntities.forEach(e->{ + distributionStockArticleEntities.forEach(e -> { DistributionSigndetailEntity distributionSigndetailEntity = new DistributionSigndetailEntity(); - Func.copy(e,distributionSigndetailEntity); + Func.copy(e, distributionSigndetailEntity); //查询签收表id - Long masterId = distributionSignforService.selectIdByOrderId(e.getId()); + Long masterId = distributionSignforService.selectIdByOrderId(e.getId()); distributionSigndetailEntity.setMasterId(masterId); distributionSigndetailEntity.setOrderId(e.getId()); }); @@ -220,9 +219,9 @@ public class DistributionDeliveryListServiceImpl extends BaseServiceImpl DistributionPackadeliEntitys = new ArrayList<>(); List distributionLoadscanEntities = distributionLoadscanMapper.selectList(new QueryWrapper().lambda() - .eq(DistributionLoadscanEntity::getDeliveryId,distributionDeliveryList.getId()) - .ne(DistributionLoadscanEntity::getScanStatus,1)); - distributionLoadscanEntities.forEach(e->{ + .eq(DistributionLoadscanEntity::getDeliveryId, distributionDeliveryList.getId()) + .ne(DistributionLoadscanEntity::getScanStatus, 1)); + distributionLoadscanEntities.forEach(e -> { DistributionPackadeliEntity distributionPackadeliEntity = new DistributionPackadeliEntity(); DistributionPackadeliEntitys.add(distributionPackadeliEntity); @@ -230,8 +229,8 @@ public class DistributionDeliveryListServiceImpl extends BaseServiceImpl().lambda() - .eq(DistributionDeliveryListEntity::getId,distributionDeliveryList.getId()) - .set(DistributionDeliveryListEntity::getState,"2") + .eq(DistributionDeliveryListEntity::getId, distributionDeliveryList.getId()) + .set(DistributionDeliveryListEntity::getState, "2") ); } @@ -239,38 +238,77 @@ public class DistributionDeliveryListServiceImpl extends BaseServiceImpl distributionDeliveryListEntities = distributionDeliveryListMapper.selectList(new QueryWrapper() - .lambda().eq(DistributionDeliveryListEntity::getState, 1).like(DistributionDeliveryListEntity::getDriverId, user.getUserId()) - ); - if (distributionDeliveryListEntities.size()<0){return R.fail(3001,"该司机无车次");} - //查询缓存 - if (distrilbutionloadingscanDTO.getType()==1){ - //找出该包条码 - List distributionParcelListEntities = distributionParcelListMapper.selectList(new QueryWrapper().lambda() - .eq(DistributionParcelListEntity::getPacketBarCode,distrilbutionloadingscanDTO.getBarcode())); - for (DistributionParcelListEntity e : distributionParcelListEntities) { - String trainNumber = distributionLoadscanMapper.selecttrainNumberByPackageId(e.getId()); - if (!trainNumber.equals(distributionDeliveryListEntities.get(0).getTrainNumber())) {return R.fail(3002,"不是当前司机配送车次");} - if (Func.notNull(bladeRedis.get("ZC"+user.getUserId()))){ - if (!(bladeRedis.get("ZC"+user.getUserId().toString()).equals(trainNumber))){ - return R.fail(3003,"串货"); - } - }else { - //第一次缓存 - bladeRedis.setEx("ZC"+user.getUserId(),trainNumber,3600L); - //TODO 查询本车次是否第一次扫码,没有则更新上车时间 - Integer i = distributionDeliveryListMapper.updateloadingTimeById(distributionDeliveryListEntities.get(0).getId()); - } - //修改对应的装车表 - distributionLoadscanMapper.updateByPackageId(e.getId()); - // baseMapper.updateloadingTime(e.getId()); + + + + if (distrilbutionloadingscanDTO.getType() == 1) { + //查询该包条是否属于该配送任务 + List distributionLoadscanEntities = distributionLoadscanMapper.selectList(new QueryWrapper().lambda() + .eq(DistributionLoadscanEntity::getDeliveryId, distrilbutionloadingscanDTO.getDeliveryId()) + .eq(DistributionLoadscanEntity::getPacketBarCode, distrilbutionloadingscanDTO.getBarcode()) + ); + +// List distributionDeliveryListEntities = distributionDeliveryListMapper.selectList(new QueryWrapper() +// .lambda().eq(DistributionDeliveryListEntity::getState, 1).like(DistributionDeliveryListEntity::getDriverId, user.getUserId()) +// ); + if (distributionLoadscanEntities.size() < 0) { + return R.fail(3001, "窜货"); } + //获取当前用户司机 + BladeUser user = AuthUtil.getUser(); + for (DistributionLoadscanEntity distributionLoadscanEntity : distributionLoadscanEntities) { + if (distributionLoadscanEntity.getScanState() !=1){return R.fail(3002, "重复扫码");} + //更新该装车记录 + distributionLoadscanMapper.updateSumById(distributionLoadscanEntity.getId()); + //查询本车次是否第一次扫码,没有则更新上车时间 + Integer i = distributionDeliveryListMapper.updateloadingTimeById(distrilbutionloadingscanDTO.getDeliveryId()); + } +// //找出该包条码 +// List distributionParcelListEntities = distributionParcelListMapper.selectList(new QueryWrapper().lambda() +// .eq(DistributionParcelListEntity::getPacketBarCode, distrilbutionloadingscanDTO.getBarcode())); +// for (DistributionParcelListEntity e : distributionParcelListEntities) { +// String trainNumber = distributionLoadscanMapper.selecttrainNumberByPackageId(e.getId()); +// if (!trainNumber.equals(distributionDeliveryListEntities.get(0).getTrainNumber())) { +// return R.fail(3002, "不是当前司机配送车次"); +// } +// if (Func.notNull(bladeRedis.get("ZC" + user.getUserId()))) { +// if (!(bladeRedis.get("ZC" + user.getUserId().toString()).equals(trainNumber))) { +// return R.fail(3003, "串货"); +// } +// } else { +// //第一次缓存 +// bladeRedis.setEx("ZC" + user.getUserId(), trainNumber, 3600L); +// //TODO 查询本车次是否第一次扫码,没有则更新上车时间 +// Integer i = distributionDeliveryListMapper.updateloadingTimeById(distributionDeliveryListEntities.get(0).getId()); +// //查询该车次包条,加入签收表 +// +// +// //修改对应的装车表 +// +// distributionLoadscanMapper.updateByPackageId(e.getId()); +// } +// } - }else if (distrilbutionloadingscanDTO.getType()==2){ - //TODO 托盘扫描 + + + } else if (distrilbutionloadingscanDTO.getType() == 2) { + //TODO 托盘扫描 + //查询该包条是否属于该配送任务 + List distributionLoadscanEntities = distributionLoadscanMapper.selectList(new QueryWrapper().lambda() + .eq(DistributionLoadscanEntity::getDeliveryId, distrilbutionloadingscanDTO.getDeliveryId()) + .eq(DistributionLoadscanEntity::getTrayId, distrilbutionloadingscanDTO.getBarcode()) + ); + if (distributionLoadscanEntities.size() < 0) { + return R.fail(3001, "窜货"); + } + for (DistributionLoadscanEntity distributionLoadscanEntity : distributionLoadscanEntities) { + if (distributionLoadscanEntity.getScanState() !=1){return R.fail(3003, "有重复货物");} + //更新该装车记录 + distributionLoadscanMapper.updateSumById(distributionLoadscanEntity.getId()); + //查询本车次是否第一次扫码,没有则更新上车时间 + Integer i = distributionDeliveryListMapper.updateloadingTimeById(distrilbutionloadingscanDTO.getDeliveryId()); + + } } return R.success("成功"); @@ -295,4 +333,25 @@ public class DistributionDeliveryListServiceImpl extends BaseServiceImpl distributionLoadscanEntities = distributionLoadscanMapper.selectList(new QueryWrapper().lambda() + .eq(DistributionLoadscanEntity::getDeliveryId, distrilbutionloadingscanDTO.getDeliveryId()) + .eq(DistributionLoadscanEntity::getPacketBarCode, distrilbutionloadingscanDTO.getBarcode()) + ); + if (distributionLoadscanEntities.size() < 0) { + return R.fail(3001, "窜货"); + } + for (DistributionLoadscanEntity distributionLoadscanEntity : distributionLoadscanEntities) { + //更新该装车记录 + distributionLoadscanMapper.updatecutSumById(distributionLoadscanEntity.getId()); + } + }else if (distrilbutionloadingscanDTO.getType()==2){ + + } + return R.success("成功"); + } + }