diff --git a/blade-biz-common/src/main/java/org/springblade/common/constant/DictBizConstant.java b/blade-biz-common/src/main/java/org/springblade/common/constant/DictBizConstant.java index a9bfb1673..78e77f3a6 100644 --- a/blade-biz-common/src/main/java/org/springblade/common/constant/DictBizConstant.java +++ b/blade-biz-common/src/main/java/org/springblade/common/constant/DictBizConstant.java @@ -22,7 +22,7 @@ public class DictBizConstant { public static final String ORDER_PACKAGE_FREEZE_STATUS = "order_package_freeze_status";//包间冻结状态 public static final String ORDER_PACKAGE_STOCKUP_STATUS = "order_package_stockup_status";//包间备货状态 public static final String ORDER_PACKAGE_GROUNDING_STATUS = "order_package_grounding_status";//包间上架状态 - public static final String STOCK_ALLOCATION = "stock_allocation";//包间上架状态 + public static final String STOCK_ALLOCATION = "stock_assign_status";//包间上架状态 diff --git a/blade-biz-common/src/main/java/org/springblade/common/constant/stockup/StockupStatusConstant.java b/blade-biz-common/src/main/java/org/springblade/common/constant/stockup/StockupStatusConstant.java index 35c6ce24f..111c2568a 100644 --- a/blade-biz-common/src/main/java/org/springblade/common/constant/stockup/StockupStatusConstant.java +++ b/blade-biz-common/src/main/java/org/springblade/common/constant/stockup/StockupStatusConstant.java @@ -8,7 +8,7 @@ package org.springblade.common.constant.stockup; */ public enum StockupStatusConstant { - weibeihuo("未备货","10"), + weibeihuo("待分配","10"), daibeihuo("待备货","20"), beihuozhong("备货中","30"), yibeihuo("已备货","40"); diff --git a/blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/entity/DistributionStockupEntity.java b/blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/entity/DistributionStockupEntity.java index 192ac75c5..1d4a13532 100644 --- a/blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/entity/DistributionStockupEntity.java +++ b/blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/entity/DistributionStockupEntity.java @@ -150,8 +150,14 @@ public class DistributionStockupEntity extends TenantEntity { * 指派时间 */ @ApiModelProperty(value = "指派时间") - @JsonFormat(locale="zh", timezone="GMT+8", pattern="yyyy-MM-dd") + @JsonFormat(locale="zh", timezone="GMT+8", pattern="yyyy-MM-dd HH:mm:ss") private Date assignTime; + /** + * 出库时间 + */ + @ApiModelProperty(value = "出库时间") + @JsonFormat(locale="zh", timezone="GMT+8", pattern="yyyy-MM-dd HH:mm:ss") + private Date outboundDate; /** * 班组职能 diff --git a/blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/entity/DistrilbutionBillLadingEntity.java b/blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/entity/DistrilbutionBillLadingEntity.java index ac7837337..2b25230de 100644 --- a/blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/entity/DistrilbutionBillLadingEntity.java +++ b/blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/entity/DistrilbutionBillLadingEntity.java @@ -149,8 +149,15 @@ public class DistrilbutionBillLadingEntity extends TenantEntity { * 指派时间 */ @ApiModelProperty(value = "指派时间") - @JsonFormat(locale="zh", timezone="GMT+8", pattern="yyyy-MM-dd") + @JsonFormat(locale="zh", timezone="GMT+8", pattern="yyyy-MM-dd HH:mm:ss") private Date assignTime; + + /** + * 出库时间 + */ + @ApiModelProperty(value = "出库时间") + @JsonFormat(locale="zh", timezone="GMT+8", pattern="yyyy-MM-dd HH:mm:ss") + private Date outboundDate; /** * 备货状态 1待指派 2 待备货 3备货中 4已备货 */ @@ -182,6 +189,18 @@ public class DistrilbutionBillLadingEntity extends TenantEntity { */ @ApiModelProperty(value = "备货人") private String stockupUser; + /** + * 备货人 + */ + @ApiModelProperty(value = "备货人") + @TableField(exist = false) + private String startDate; + /** + * 备货人 + */ + @ApiModelProperty(value = "备货人") + @TableField(exist = false) + private String entDate; /** * 备货编码 */ 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 27ce2fc51..f62cb9586 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 @@ -248,5 +248,29 @@ public class DistributionStockArticleController extends BladeController { } + /** + * 模板渲染,展示 + */ + @GetMapping("/getShowTemplate") + @ApiOperationSupport(order = 2) + @ApiOperation(value = "生成二维码图片返回前端渲染") + public R getShowTemplate(@ApiIgnore @RequestParam Map params,HttpServletResponse response) { +// boolean result = basicdataGoodsShelfService.getTemplate(params,response); + R result = distributionStockArticleService.getShowTemplate(params,response); + return result; + } + + /** + * 模板渲染,打印 + */ + @GetMapping("/getPrintTemplate") + @ApiOperationSupport(order = 2) + @ApiOperation(value = "获取模板") + public R getPrintTemplate(@ApiIgnore @RequestParam List ids,HttpServletResponse response) { + R result = distributionStockArticleService.getPrintTemplates(ids,response); + return result; + } + + } 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 92aeefb62..2df7173f9 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 @@ -19,6 +19,7 @@ package com.logpm.distribution.controller; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport; +import com.baomidou.mybatisplus.core.toolkit.StringUtils; import com.logpm.distribution.dto.DistrilbutionBillLadingDTO; import com.logpm.distribution.entity.DistrilbutionBillLadingEntity; import com.logpm.distribution.excel.DistrilbutionBillLadingExcel; @@ -88,10 +89,12 @@ public class DistrilbutionBillLadingController extends BladeController { public R> list(@ApiIgnore @RequestParam Map distrilbutionBillLading, Query query) { Object o = distrilbutionBillLading.get("startDate"); Object o1 = distrilbutionBillLading.get("entDate"); - QueryWrapper queryWrapper = Condition.getQueryWrapper(distrilbutionBillLading, DistrilbutionBillLadingEntity.class); - if(ObjectUtil.isNotEmpty(o) || ObjectUtil.isNotEmpty(o1)){ - queryWrapper.between("stockup_date",o,o1); + if(ObjectUtil.isNotEmpty(o) && ObjectUtil.isNotEmpty(o1)){ + distrilbutionBillLading.remove("startDate"); + distrilbutionBillLading.remove("entDate"); } + QueryWrapper queryWrapper = Condition.getQueryWrapper(distrilbutionBillLading, DistrilbutionBillLadingEntity.class); + queryWrapper.between(StringUtils.isNotEmpty((CharSequence) o),"pick_up_time",o,o1); IPage pages = distrilbutionBillLadingService.page(Condition.getPage(query),queryWrapper ); return R.data(DistrilbutionBillLadingWrapper.build().pageVO(pages)); } diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionStockupMapper.xml b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionStockupMapper.xml index 28c86f347..d029889f0 100644 --- a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionStockupMapper.xml +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionStockupMapper.xml @@ -45,7 +45,7 @@ select lds.id,lds.stockup_date stockupDate, lds.stockup_user stockupUser, lds.stockup_status stockupStatus, lds.stockup_area stockupArea, lds.assign_status assignStatus, lds.stockip_allocation stockipAllocation, lds.goods_area_id goodsAreaId, lds.forklift_name forkliftName, lds.loader_name loaderName, lds.forklift_id forkliftId,lds.loader_id loaderId,lds.fix_time fixTime,lds.assign_time assignTime, - lwga.headline,btg.group_name groupName,lds.type_service typeService + lwga.headline,btg.group_name groupName,lds.type_service typeService,lds.outbound_date outboundDate from logpm_distribution_stockup lds LEFT JOIN logpm_warehouse_goods_area lwga ON lds.stockup_area = lwga.id LEFT JOIN logpm_basicdata_team_group btg ON lds.loader_id = btg.id 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 cd9551849..3b30c8d76 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 @@ -27,6 +27,7 @@ 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; import java.util.List; import java.util.Map; @@ -94,4 +95,8 @@ public interface IDistributionStockArticleService extends BaseService> selectStockArticleAndParcel(Map query); + + R getShowTemplate(Map params, HttpServletResponse response); + + R getPrintTemplates(List ids, 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 b32b32b3b..9cd9ab9f4 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 @@ -16,6 +16,7 @@ */ package com.logpm.distribution.service.impl; +import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.Wrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; @@ -23,7 +24,10 @@ import com.baomidou.mybatisplus.core.toolkit.StringUtils; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.toolkit.SqlHelper; 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; @@ -36,6 +40,9 @@ import com.logpm.distribution.wrapper.DistributionStockArticleWrapper; import lombok.AllArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springblade.common.constant.DictBizConstant; +import org.springblade.common.utils.FileUtil; +import org.springblade.common.utils.QRCodeUtil; +import org.springblade.common.utils.TemplateUtil; import org.springblade.core.log.exception.ServiceException; import org.springblade.core.mp.base.BaseServiceImpl; import org.springblade.core.secure.BladeUser; @@ -48,11 +55,19 @@ import org.springblade.system.cache.DictBizCache; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import javax.imageio.ImageIO; +import javax.servlet.ServletOutputStream; +import javax.servlet.http.HttpServletResponse; +import java.awt.image.BufferedImage; +import java.io.File; +import java.io.IOException; import java.math.BigDecimal; import java.util.ArrayList; import java.util.List; import java.util.Map; import java.util.Optional; +import java.util.concurrent.ScheduledThreadPoolExecutor; +import java.util.concurrent.TimeUnit; /** * 配送在库订单 服务实现类 @@ -73,6 +88,9 @@ public class DistributionStockArticleServiceImpl extends BaseServiceImpl getShowTemplate(Map params, HttpServletResponse response) { + String tenantId = AuthUtil.getTenantId(); +// String templateId = (String) params.get("templateId"); + BasicPrintTemplateEntity template = basicPrintTemplateClient.getTemplate(tenantId); + String qrCode = (String) params.get("qrCode"); + if (Func.isBlank(qrCode)){ + log.error("参数异常:+{"+qrCode+"}"); + return R.fail("服务器正忙!!!"); + } + String filename = QRCodeUtil.createCodeToFile(qrCode); + params.put("img","/"+filename); + ServletOutputStream os =null; + try { + BufferedImage image = TemplateUtil.turnImage(template.getTemplateName(), params,template.getTemplateUrl(),template.getTemplateWidth(),template.getTemplateHeight()); + os = response.getOutputStream(); + ImageIO.write(image, "png",os); + os.flush(); + } catch (IOException e) { + e.printStackTrace(); + log.error("获取响应流失败+{"+e.getMessage()+"}"); + }finally { + File file = new File(filename); + file.delete(); + try { + os.close(); + } catch (IOException e) { + e.printStackTrace(); + } + } + return R.success("二维码模板"); + } + + @Override + public R getPrintTemplates(List ids, HttpServletResponse response) { + String tenantId = AuthUtil.getTenantId(); + 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 qrCode = (String) map.get("qrCode"); + String filename = QRCodeUtil.createCodeToFile(qrCode); + list.add(filename); + map.put("img",filename); + try { + templateByUrl = TemplateUtil.getTemplateByUrl(template.getFileName(), map, template.getTemplateUrl()); + } catch (Exception e) { + e.printStackTrace(); + return R.fail("模板获取异常"); + } + buffer.append(templateByUrl); + } + ScheduledThreadPoolExecutor scheduledThreadPoolExecutor = new ScheduledThreadPoolExecutor(5); + scheduledThreadPoolExecutor.schedule(new FileUtil(list),30, TimeUnit.SECONDS); + return R.data(buffer.toString()); + } } 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 23f47013b..40253ecc2 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 @@ -32,6 +32,8 @@ import com.logpm.distribution.service.*; import com.logpm.distribution.vo.*; import org.springblade.common.constant.CodeDesEnum; import org.springblade.common.constant.DictBizConstant; +import org.springblade.common.constant.stockup.StockAssignStatusConstant; +import org.springblade.common.constant.stockup.StockupStatusConstant; import org.springblade.common.exception.CustomerException; import org.springblade.core.mp.base.BaseServiceImpl; import org.springblade.core.secure.BladeUser; @@ -100,9 +102,10 @@ public class DistributionStockupServiceImpl extends BaseServiceImpl