diff --git a/blade-service-api/logpm-basic-api/src/main/java/com/logpm/basic/entity/BasicMaterialEntity.java b/blade-service-api/logpm-basic-api/src/main/java/com/logpm/basic/entity/BasicMaterialEntity.java index c162bb4cd..e82e35742 100644 --- a/blade-service-api/logpm-basic-api/src/main/java/com/logpm/basic/entity/BasicMaterialEntity.java +++ b/blade-service-api/logpm-basic-api/src/main/java/com/logpm/basic/entity/BasicMaterialEntity.java @@ -139,6 +139,9 @@ public class BasicMaterialEntity extends TenantEntity { @ApiModelProperty(value = "sku") private String sku; + @ApiModelProperty(value = "父id") + private Long pid; + @ApiModelProperty(value = "包装数量") private String packageNum; diff --git a/blade-service-api/logpm-basic-api/src/main/java/com/logpm/basic/feign/IBasicMaterialClient.java b/blade-service-api/logpm-basic-api/src/main/java/com/logpm/basic/feign/IBasicMaterialClient.java index 06d95bceb..a9490416e 100644 --- a/blade-service-api/logpm-basic-api/src/main/java/com/logpm/basic/feign/IBasicMaterialClient.java +++ b/blade-service-api/logpm-basic-api/src/main/java/com/logpm/basic/feign/IBasicMaterialClient.java @@ -21,6 +21,8 @@ import org.springblade.common.constant.ModuleNameConstant; import org.springblade.core.mp.support.BladePage; import org.springframework.cloud.openfeign.FeignClient; import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestParam; /** @@ -38,6 +40,7 @@ public interface IBasicMaterialClient { String TOP = API_PREFIX + "/top"; String GETMATERIAL = API_PREFIX + "/getMaterial"; String GETMATERIALID = API_PREFIX + "/getMaterialId"; + String ADDMATERIAL = API_PREFIX + "/addMaterial"; /** * 获取物料基础信息列表 @@ -65,4 +68,11 @@ public interface IBasicMaterialClient { @GetMapping(GETMATERIALID) BasicMaterialEntity getMaterialOwnId(@RequestParam("materialId") Long materialId); + /** + * 添加物理信息 + * @return + */ + @PostMapping(ADDMATERIAL) + Long addMaterial(@RequestBody BasicMaterialEntity basicMaterialEntity); + } diff --git a/blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/entity/DistributionStockEntity.java b/blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/entity/DistributionStockEntity.java index d3d8b9d3c..77b327be9 100644 --- a/blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/entity/DistributionStockEntity.java +++ b/blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/entity/DistributionStockEntity.java @@ -66,6 +66,16 @@ public class DistributionStockEntity extends TenantEntity { */ @ApiModelProperty(value = "货位") private String goodsAllocation; + /** + * 物料id + */ + @ApiModelProperty(value = "物料Id") + private Long materialId; + /** + * 商场客户 + */ + @ApiModelProperty(value = "商场客户") + private Long marketId; /** * 在库订单ID */ diff --git a/blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/vo/DistributionStockArticleQRCodeVO.java b/blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/vo/DistributionStockArticleQRCodeVO.java index 7cac5dcd4..c3a46759f 100644 --- a/blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/vo/DistributionStockArticleQRCodeVO.java +++ b/blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/vo/DistributionStockArticleQRCodeVO.java @@ -96,6 +96,11 @@ public class DistributionStockArticleQRCodeVO { */ @ApiModelProperty(value = "订单状态") private String dealerCode; + /** + * 包件码 + */ + @ApiModelProperty(value = "包件码") + private String qrCode; /** * 订单状态 */ diff --git a/blade-service/logpm-basic/src/main/java/com/logpm/basic/feign/BasicMaterialClient.java b/blade-service/logpm-basic/src/main/java/com/logpm/basic/feign/BasicMaterialClient.java index 927d00cfc..d85ec00b1 100644 --- a/blade-service/logpm-basic/src/main/java/com/logpm/basic/feign/BasicMaterialClient.java +++ b/blade-service/logpm-basic/src/main/java/com/logpm/basic/feign/BasicMaterialClient.java @@ -19,6 +19,7 @@ package com.logpm.basic.feign; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.toolkit.StringUtils; import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import io.swagger.models.auth.In; import lombok.AllArgsConstructor; import org.springblade.core.mp.support.BladePage; import org.springblade.core.mp.support.Condition; @@ -87,4 +88,15 @@ public class BasicMaterialClient implements IBasicMaterialClient { return one; } + /** + * 添加物料信息 + * @param basicMaterialEntity + * @return + */ + @Override + public Long addMaterial(BasicMaterialEntity basicMaterialEntity) { + basicMaterialService.save(basicMaterialEntity); + return basicMaterialEntity.getId(); + } + } diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/appcontroller/DistributionStockupAppController.java b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/appcontroller/DistributionStockupAppController.java index a1cc2a66e..c60ec1da4 100644 --- a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/appcontroller/DistributionStockupAppController.java +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/appcontroller/DistributionStockupAppController.java @@ -17,12 +17,15 @@ package com.logpm.distribution.appcontroller; import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport; import com.logpm.distribution.bean.Resp; import com.logpm.distribution.dto.app.StockupDTO; import com.logpm.distribution.entity.DistributionReservationEntity; import com.logpm.distribution.entity.DistributionStockEntity; +import com.logpm.distribution.entity.DistributionStockListEntity; import com.logpm.distribution.service.IDistributionReservationService; +import com.logpm.distribution.service.IDistributionStockListService; import com.logpm.distribution.service.IDistributionStockService; import com.logpm.distribution.service.IDistributionStockupService; import com.logpm.distribution.vo.*; @@ -62,6 +65,7 @@ public class DistributionStockupAppController extends BladeController { private final IDistributionStockService distributionStockService; private final RabbitTemplate rabbitTemplate; + private final IDistributionStockListService iDistributionStockListService; /** * 备货信息表 分页列表 @@ -290,6 +294,12 @@ public class DistributionStockupAppController extends BladeController { entity.setStockupArea(stockupArea); entity.setReservationId(reservationId); entity.setStockListId(stockListId); + //添加物料信息 + DistributionStockListEntity byId = iDistributionStockListService.getById(stockListId); + if(ObjectUtils.isNotNull(byId.getMarketId())){ + entity.setMarketId(byId.getMarketId()); + entity.setMaterialId(byId.getMaterialId()); + } entity.setConditions("0"); entity.setType(2); distributionStockService.save(entity); 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 4a3684cfa..340279be6 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 @@ -265,8 +265,8 @@ public class DistributionStockArticleController extends BladeController { @GetMapping("/getPrintTemplate") @ApiOperationSupport(order = 2) @ApiOperation(value = "获取模板") - public R getPrintTemplate(@ApiIgnore @RequestParam List ids,HttpServletResponse response) { - R result = distributionStockArticleService.getPrintTemplates(ids,response); + public R getPrintTemplate(@ApiIgnore @RequestParam Map params,HttpServletResponse response) { + R result = distributionStockArticleService.getPrintTemplates(params,response); return result; } diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/dto/DistributionStockListDTO.java b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/dto/DistributionStockListDTO.java index a9a6716be..378c2fc28 100644 --- a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/dto/DistributionStockListDTO.java +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/dto/DistributionStockListDTO.java @@ -36,9 +36,13 @@ public class DistributionStockListDTO extends DistributionStockListEntity { */ private Integer inventoryQuantity; -/* //物料id - private String materialId;*/ + //物料id或名称 + private String materialIdName; //入库个数 private Integer storeNum; + /** + * 包装数量 + */ + private String packageNum; } diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionStockArticleMapper.xml b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionStockArticleMapper.xml index c432bf1b8..ac19f50b7 100644 --- a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionStockArticleMapper.xml +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionStockArticleMapper.xml @@ -195,7 +195,7 @@ select ldsa.id,ldsa.order_code,ldsa.mall_name ,ldsa.customer_name ,ldsa.customer_telephone , ldsa.customer_address ,ldsa.sending,ldsa.waybill_number waybillNumber, ldsa.objective ,ldsa.departure_station departureStation,ldsa.dealer_name dealerName,ldsa.dealer_code dealerCode,ldsa.total_number totalNumber, CONCAT_WS('/', IFNULL(ldpl.firsts, ''), IFNULL(ldpl.second, ''), IFNULL(ldpl.third_product, '')) AS category, - CONCAT_WS( '',IFNULL(ldpl.material_name, '')) AS materialName + CONCAT_WS( '',IFNULL(ldpl.material_name, '')) AS materialName ,ldpl.order_package_code qrCode from logpm_distribution_parcel_list ldpl LEFT JOIN logpm_distribution_stock_article ldsa on ldpl.stock_article_id = ldsa.id diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionStockListMapper.xml b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionStockListMapper.xml index e57dae62f..f425123af 100644 --- a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionStockListMapper.xml +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionStockListMapper.xml @@ -35,7 +35,7 @@ - select ldsi.service_number serviceNumber,ldsi.service_type serviceType,ldsi.description_goods descriptionGoods,ldsi.cargo_number cargoNumber,ldsi.despatch ,ldsi.incoming_batch incomingBatch, + select DISTINCT ldsi.service_number serviceNumber,ldsi.service_type serviceType,ldsi.description_goods descriptionGoods,ldsi.cargo_number cargoNumber,ldsi.despatch ,ldsi.incoming_batch incomingBatch, CASE WHEN ldsi.pid is null THEN (select sum(l.quantity_stock) from logpm_distribution_stock_list l @@ -65,7 +65,23 @@ from logpm_distribution_stock_list l where l.market_id =ldsi.market_id and l.material_id = ldsi.material_id and l.pid = ldsi.pid and l.pid is not null )) END 'unpack', - ldsi.market_id marketId,ldsi.store_id storeId,ldsi.material_id materialId,ldsi.id,ldsi.unpacking_quantity unpackingQuantity,ldsi.quantity_occupied quantityOccupied + CASE WHEN ldsi.pid is null THEN + (select sum(l.quantity_occupied) + from logpm_distribution_stock_list l + where l.market_id = ldsi.market_id and l.material_id = ldsi.material_id AND l.pid is null) + else (select sum(l.quantity_occupied) + from logpm_distribution_stock_list l + where l.market_id = ldsi.market_id and l.material_id = ldsi.material_id and l.pid = ldsi.pid and l.pid is not null) + END 'quantityOccupied', + CASE WHEN ldsi.pid is null THEN + (select sum(l.unpacking_quantity) + from logpm_distribution_stock_list l + where l.market_id = ldsi.market_id and l.material_id = ldsi.material_id AND l.pid is null) + else (select sum(l.unpacking_quantity) + from logpm_distribution_stock_list l + where l.market_id = ldsi.market_id and l.material_id = ldsi.material_id and l.pid = ldsi.pid and l.pid is not null) + END 'unpackingQuantity', + ldsi.market_id marketId,ldsi.store_id storeId,ldsi.material_id materialId from logpm_distribution_stock_list ldsi 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 1d3cc0c03..73e65fec4 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 @@ -17,14 +17,12 @@ package com.logpm.distribution.service; import com.baomidou.mybatisplus.core.conditions.Wrapper; -import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.logpm.distribution.dto.DistributionStockArticleDTO; import com.logpm.distribution.entity.DistributionStockArticleEntity; import com.logpm.distribution.vo.DistributionStockArticleVO; import com.logpm.distribution.excel.DistributionStockArticleExcel; import com.baomidou.mybatisplus.core.metadata.IPage; import org.springblade.core.mp.base.BaseService; -import org.springblade.core.mp.support.Query; import org.springblade.core.tool.api.R; import javax.servlet.http.HttpServletResponse; @@ -98,5 +96,5 @@ public interface IDistributionStockArticleService extends BaseService params, HttpServletResponse response) throws IllegalAccessException; - R getPrintTemplates(List ids, HttpServletResponse response); + R getPrintTemplates( Map params, HttpServletResponse response); } 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 d6cfb7f75..bd9d6b87d 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 @@ -27,7 +27,6 @@ import com.logpm.basic.entity.BasicMaterialEntity; import com.logpm.basic.entity.BasicPrintTemplateEntity; import com.logpm.basic.feign.IBasicMaterialClient; import com.logpm.basic.feign.IBasicPrintTemplateClient; -import com.logpm.basicdata.entity.BasicdataGoodsShelfEntity; import com.logpm.distribution.dto.DistributionStockArticleDTO; import com.logpm.distribution.entity.*; import com.logpm.distribution.excel.DistributionStockArticleExcel; @@ -438,25 +437,23 @@ public class DistributionStockArticleServiceImpl extends BaseServiceImpl getPrintTemplates(List ids, HttpServletResponse response) { - String tenantId = AuthUtil.getTenantId(); + public R getPrintTemplates(Map params, HttpServletResponse response) { String templateByUrl = null; StringBuffer buffer = new StringBuffer(); //待删除文件列表 List list= new ArrayList<>(); - for (String id : ids) { -// BasicdataGoodsShelfEntity basicdataGoodsShelfEntity = basicdataGoodsShelfMapper.selectById(id); - BasicdataGoodsShelfEntity basicdataGoodsShelfEntity = new BasicdataGoodsShelfEntity(); - String templateId = basicdataGoodsShelfEntity.getTemplateId(); - BasicPrintTemplateEntity template = basicPrintTemplateClient.getTemplate(templateId); - if (Func.isEmpty(basicdataGoodsShelfEntity)){ - return R.fail("货架信息异常+{"+basicdataGoodsShelfEntity+"}"); - } - Map map = JSONObject.parseObject(JSONObject.toJSONString(basicdataGoodsShelfEntity), Map.class); + String templateId = "1688431772497219586"; + BasicPrintTemplateEntity template = basicPrintTemplateClient.getTemplate(templateId); + String id = (String) params.get("id"); + DistributionStockArticleQRCodeVO orderNoList = baseMapper.getOrderNoList( null,id); + Map map = JSONObject.parseObject(JSONObject.toJSONString(orderNoList), Map.class); String qrCode = (String) map.get("qrCode"); String filename = QRCodeUtil.createCodeToFile(qrCode); list.add(filename); map.put("img",filename); + String filetypeName = QRCodeUtil.createCodeToFileType(qrCode); + map.put("imgType",filetypeName); + list.add(filetypeName); try { templateByUrl = TemplateUtil.getTemplateByUrl(template.getFileName(), map, template.getTemplateUrl()); } catch (Exception e) { @@ -464,7 +461,6 @@ public class DistributionStockArticleServiceImpl extends BaseServiceImplquery().lambda() - .eq(DistributionStockListEntity::getPid, distributionStockListDTO.getId()) - .eq(DistributionStockListEntity::getMaterialId, distributionStockListDTO.getMaterialId()) - .eq(DistributionStockListEntity::getMarketId, distributionStockListDTO.getMarketId()) - .eq(ObjectUtil.isNotEmpty(distributionStockListDTO.getStoreId()), DistributionStockListEntity::getStoreId, distributionStockListDTO.getStoreId()) - ); - //客户物资信息 - DistributionStockListEntity one = this.getOne(Wrappers.query().lambda() - .eq(DistributionStockListEntity::getId, distributionStockListDTO.getId()) - /*.eq(DistributionStockListEntity::getMarketId, distributionStockListDTO.getMarketId()) - .eq(ObjectUtil.isNotEmpty(distributionStockListDTO.getStoreId()), DistributionStockListEntity::getStoreId, distributionStockListDTO.getStoreId()) - .isNull(DistributionStockListEntity::getPid)*/ - ); - if(ObjectUtil.isNotEmpty(one2)){ + DistributionStockListEntity one2 = new DistributionStockListEntity(); + BasicMaterialEntity basicMaterialEntity = new BasicMaterialEntity(); + List list = new ArrayList<>(); + Long aLong = 0L; + if(ObjectUtil.isNotEmpty(distributionStockListDTO.getDescriptionGoods())){ + //选择的 + //查询客户是不是有该物资的拆包 + one2 = this.getOne(Wrappers.query().lambda() + .eq(DistributionStockListEntity::getMaterialId, distributionStockListDTO.getMaterialIdName()) + .eq(DistributionStockListEntity::getMarketId, distributionStockListDTO.getMarketId()) + .eq(ObjectUtil.isNotEmpty(distributionStockListDTO.getStoreId()), DistributionStockListEntity::getStoreId, distributionStockListDTO.getStoreId()) + ); + + }else{ + //新增物料信息 + basicMaterialEntity.setName(distributionStockListDTO.getMaterialIdName()); + basicMaterialEntity.setProductCode(distributionStockListDTO.getCargoNumber()); + basicMaterialEntity.setPackingSpecification(distributionStockListDTO.getCargoNorms()); + basicMaterialEntity.setSku(distributionStockListDTO.getSku()); + basicMaterialEntity.setPackageNum(distributionStockListDTO.getPackageNum()); + basicMaterialEntity.setLogpmUnit(distributionStockListDTO.getCargoUnit()); + basicMaterialEntity.setPid(distributionStockListDTO.getMaterialId()); + aLong = basicMaterialClient.addMaterial(basicMaterialEntity); + //客户物资信息 + list = this.list(Wrappers.query().lambda() +// .eq(DistributionStockListEntity::getId, distributionStockListDTO.getId()) + .eq(DistributionStockListEntity::getMarketId, distributionStockListDTO.getMarketId()) + .eq(DistributionStockListEntity::getMaterialId, distributionStockListDTO.getMaterialId()) + .eq(ObjectUtil.isNotEmpty(distributionStockListDTO.getStoreId()), DistributionStockListEntity::getStoreId, distributionStockListDTO.getStoreId()) + ); + + } + + if(ObjectUtils.isNotNull(one2.getId())){ //有修改 DistributionStockListEntity d = new DistributionStockListEntity(); d.setId(one2.getId()); @@ -154,31 +179,36 @@ public class DistributionStockListServiceImpl extends BaseServiceImpl