Browse Source

修改库存品模板

training
caoyizhong 2 years ago
parent
commit
5544318806
  1. 3
      blade-biz-common/src/main/java/org/springblade/common/constant/printTemplate/PrintTemplateStatusConstant.java
  2. 21
      blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/vo/DisStockListVO.java
  3. 1
      blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/vo/DistributionStockupVO.java
  4. 6
      blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/vo/app/DistributionAppDeliveryListVO.java
  5. 24
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/controller/DisStockListDetailController.java
  6. 3
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionSignforMapper.xml
  7. 4
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionStockListMapper.xml
  8. 35
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionStockupMapper.xml
  9. 14
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/IDisStockListDetailService.java
  10. 164
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DisStockListDetailServiceImpl.java

3
blade-biz-common/src/main/java/org/springblade/common/constant/printTemplate/PrintTemplateStatusConstant.java

@ -17,7 +17,8 @@ public enum PrintTemplateStatusConstant {
daiqueren_7("托盘码模板","7"),
daiqueren_8("货位码模板","8"),
daiqueren_9("货架码模板","9"),
daiqueren_10("包件模板","10");
daiqueren_10("包件模板","10"),
daiqueren_11("库存品包件模板","11");
/**

21
blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/vo/DisStockListVO.java

@ -0,0 +1,21 @@
package com.logpm.distribution.vo;
import lombok.Data;
/**
*
*/
@Data
public class DisStockListVO {
private Long id; //id
private String sku; //sku
private String orderCode; //订单自编号
private String descriptionGoods; //物料名称
private String cargoUnit; //单位
private String stockPackageCode; //包条码
private String brandName; //品牌
private String stockListId; //库存品ID
private String reservationId; //预约ID
}

1
blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/vo/DistributionStockupVO.java

@ -34,6 +34,7 @@ public class DistributionStockupVO extends DistributionStockupEntity {
private static final long serialVersionUID = 1L;
private String headline;
private Long stocklist; //订单库存品关联id
private String cargoUnit; //数量
private String groupName;

6
blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/vo/app/DistributionAppDeliveryListVO.java

@ -90,6 +90,12 @@ public class DistributionAppDeliveryListVO extends DistributionDeliveryListEntit
@ApiModelProperty(value = "配送种类;1-市配,2-商配")
private String type_name;
/**
* 配送类型;1-商配,2-市配
*/
@ApiModelProperty(value = "配送种类;1-商配,2-市配")
private String type;
/**
* 是否备货
*/

24
blade-service/logpm-distribution/src/main/java/com/logpm/distribution/controller/DisStockListDetailController.java

@ -23,6 +23,8 @@ import com.logpm.distribution.entity.DisStockListDetailEntity;
import com.logpm.distribution.excel.DisStockListDetailExcel;
import com.logpm.distribution.service.IDisStockListDetailService;
import com.logpm.distribution.vo.DisStockListDetailVO;
import com.logpm.distribution.vo.DisStockListVO;
import com.logpm.distribution.vo.OrderPackgeCodeDataVO;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
@ -85,9 +87,25 @@ public class DisStockListDetailController extends BladeController {
@GetMapping("/disStockList")
@ApiOperationSupport(order = 2)
@ApiOperation(value = "分页", notes = "传入disStockListDetail")
public R<List<DisStockListDetailEntity>> disStockList(@ApiIgnore @RequestParam Map<String, Object> disStockListDetail) {
List<DisStockListDetailEntity> pages = disStockListDetailService.pageDisStockList(disStockListDetail);
return R.data(pages);
public R<List<DisStockListVO>> disStockList(@ApiIgnore @RequestParam Map<String, Object> disStockListDetail) {
List<DisStockListVO> list = disStockListDetailService.pageDisStockList(disStockListDetail);
return R.data(list);
}
/**
* 库存品条码记录表
*/
@GetMapping("/getPrintDetail")
@ApiOperationSupport(order = 2)
@ApiOperation(value = "分页", notes = "传入disStockListDetail")
public R<OrderPackgeCodeDataVO> getPrintDetail(@ApiIgnore @RequestParam Map<String, Object> disStockListDetail) {
OrderPackgeCodeDataVO list = null;
try {
list = disStockListDetailService.getPrintDetail(disStockListDetail);
} catch (Exception e) {
throw new RuntimeException(e);
}
return R.data(list);
}
/**

3
blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionSignforMapper.xml

@ -675,6 +675,9 @@
<if test="param.createTime_query!=null and param.createTime_query!=''">
and date_format(lddl.create_time,'%y%m%d%') = date_format(#{param.createTime_query},'%y%m%d%')
</if>
<if test="param.type != null and param.type != '' ">
and lddl.type = #{param.type}
</if>
<if test="param.taskTime_start!=null and param.taskTime_start!=''">
and date_format(lddl.task_time,'%y%m%d%') >= date_format(#{param.taskTime_start},'%y%m%d%') and date_format(lddl.task_time,'%y%m%d%') &lt;= date_format(#{param.taskTime_end},'%y%m%d%')
</if>

4
blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionStockListMapper.xml

@ -235,8 +235,8 @@
<select id="selectStockListInfoList" resultType="com.logpm.distribution.vo.StockListInfoListVO">
select
s.coding packageCode,
s.goods_name name
s.goods_name name,
s.create_time createTime
from logpm_distribution_reservation ldr
left join logpm_distribution_reservation_stocklist ldrs on ldrs.reservation_id = ldr.id and ldrs.is_deleted = 0 and ldrs.stock_list_status in (1,3)
left join logpm_distribution_stock_list ldsl on ldsl.id = ldrs.stocklist_id and ldsl.is_deleted = 0

35
blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionStockupMapper.xml

@ -574,24 +574,29 @@
</select>
<select id="getInventoryOwn" resultType="com.logpm.distribution.vo.DistributionStockupVO">
select DISTINCT ldsii.sku ,ldsii.order_code orderCode,ldsii.description_goods descriptionGoods,ldsii.cargo_unit cargoUnit,
ldrsi.reservation_num reservationNum,ldpl.pallet ,lds.stockup_area stockupArea,
lds.stockup_status stockupStatus,lds.stockup_date stockupDate,ldpl.goods_allocation goodsAllocation,
select DISTINCT ldsii.sku ,ldsii.order_code orderCode,ldsii.description_goods descriptionGoods,ldsii.cargo_unit cargoUnit,ldsii.id stockListId,ldrsi.reservation_id reservationId,
ldrsi.reservation_num reservationNum,lds.stockup_area stockupArea, lds.stockup_status stockupStatus,lds.stockup_date stockupDate,ldrsi.id stocklist,
(
select count(1)
select count(ds.id)
from logpm_distribution_stock ds
WHERE ds.stock_article in (
select DISTINCT dpl.id
from logpm_distribution_parcel_list dpl
where dpl.stock_article_id = ldrsi.stocklist_id
)
) number
WHERE ds.stock_list_id = ldsii.id and ds.reservation_id = ldsi.reservation_id
) number,
(
select GROUP_CONCAT(DISTINCT tray_code)
from logpm_warehouse_tray_goods
WHERE association_id = ldsii.material_id and association_type = 4 and market_id =ldsii.market_id and incoming_batch = ldsii.incoming_batch
) pallet,
(
select GROUP_CONCAT(DISTINCT position_code)
from logpm_warehouse_updown_goods
where association_id = ldsii.material_id and association_type = 4 and market_id =ldsii.market_id and incoming_batch = ldsii.incoming_batch
) goodsAllocation
from logpm_distribution_stockup_info ldsi
LEFT JOIN logpm_distribution_reservation_stockarticle ldrs on ldsi.reservation_id = ldrs.reservation_id
LEFT JOIN logpm_distribution_reservation_stocklist ldrsi on ldrsi.reservation_id = ldrs.reservation_id
LEFT JOIN logpm_distribution_stockup lds on lds.id = ldsi.stockup_id
LEFT JOIN logpm_distribution_stock_list ldsii on ldsii.id = ldrsi.stocklist_id
LEFT JOIN logpm_distribution_parcel_list ldpl on ldpl.id = ldsii.parcel_list_id
LEFT JOIN logpm_distribution_reservation_stocklist ldrsi on ldrsi.reservation_id = ldsi.reservation_id
LEFT JOIN logpm_distribution_stock_list ldsii on ldsii.id = ldrsi.stocklist_id
LEFT JOIN logpm_distribution_reservation_stockarticle ldrs on ldsi.reservation_id = ldrs.reservation_id
LEFT JOIN logpm_distribution_stockup lds on lds.id = ldsi.stockup_id
LEFT JOIN logpm_distribution_parcel_list ldpl on ldpl.id = ldsii.parcel_list_id
<where>
ldsi.stockup_id =#{id}
</where>

14
blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/IDisStockListDetailService.java

@ -17,11 +17,12 @@
package com.logpm.distribution.service;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.logpm.distribution.entity.DisStockListDetailEntity;
import com.logpm.distribution.excel.DisStockListDetailExcel;
import com.logpm.distribution.vo.DisStockListDetailVO;
import com.logpm.distribution.vo.DisStockListVO;
import com.logpm.distribution.vo.OrderPackgeCodeDataVO;
import org.springblade.core.mp.base.BaseService;
import java.util.List;
@ -57,5 +58,14 @@ public interface IDisStockListDetailService extends BaseService<DisStockListDeta
* @param disStockListDetail
* @return
*/
List<DisStockListDetailEntity> pageDisStockList(Map<String, Object> disStockListDetail);
List<DisStockListVO> pageDisStockList(Map<String, Object> disStockListDetail);
/**
* 打印库存品模板
*
* @param disStockListDetail
* @return
*/
OrderPackgeCodeDataVO getPrintDetail(Map<String, Object> disStockListDetail) throws Exception;
}

164
blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DisStockListDetailServiceImpl.java

@ -21,15 +21,33 @@ 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;
import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.logpm.basic.entity.BasicPrintTemplateEntity;
import com.logpm.basic.feign.IBasicPrintTemplateClient;
import com.logpm.distribution.entity.DisStockListDetailEntity;
import com.logpm.distribution.entity.DistributionReservationStocklistEntity;
import com.logpm.distribution.entity.DistributionStockListEntity;
import com.logpm.distribution.excel.DisStockListDetailExcel;
import com.logpm.distribution.mapper.DisStockListDetailMapper;
import com.logpm.distribution.service.IDisStockListDetailService;
import com.logpm.distribution.service.IDistributionReservationStocklistService;
import com.logpm.distribution.service.IDistributionStockListService;
import com.logpm.distribution.vo.DisStockListDetailVO;
import com.logpm.distribution.vo.DisStockListVO;
import com.logpm.distribution.vo.DistributionStockArticleQRCodeVO;
import com.logpm.distribution.vo.OrderPackgeCodeDataVO;
import lombok.AllArgsConstructor;
import org.springblade.common.constant.printTemplate.PrintTemplateStatusConstant;
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.mp.support.Condition;
import org.springblade.core.tool.utils.Func;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
@ -40,8 +58,14 @@ import java.util.Map;
* @since 2023-09-04
*/
@Service
@AllArgsConstructor
public class DisStockListDetailServiceImpl extends BaseServiceImpl<DisStockListDetailMapper, DisStockListDetailEntity> implements IDisStockListDetailService {
private final IDistributionStockListService distributionStockListService ;
private final IDistributionReservationStocklistService distributionReservationStocklistService ;
private final IBasicPrintTemplateClient basicPrintTemplateClient;
@Override
public IPage<DisStockListDetailVO> selectDisStockListDetailPage(IPage<DisStockListDetailVO> page, DisStockListDetailVO disStockListDetail) {
return page.setRecords(baseMapper.selectDisStockListDetailPage(page, disStockListDetail));
@ -63,8 +87,9 @@ public class DisStockListDetailServiceImpl extends BaseServiceImpl<DisStockListD
* @return
*/
@Override
public List<DisStockListDetailEntity> pageDisStockList(Map<String, Object> disStockListDetail) {
public List<DisStockListVO> pageDisStockList(Map<String, Object> disStockListDetail) {
// DisStockListDetailEntity disStockListDetailEntity = JSONObject.parseObject(JSONObject.toJSONString(disStockListDetail), DisStockListDetailEntity.class);
List<DisStockListVO> list = new ArrayList<>();
Object stockListId = disStockListDetail.get("stockListId");
Object reservationId = disStockListDetail.get("reservationId");
disStockListDetail.remove("stockListId");
@ -72,8 +97,141 @@ public class DisStockListDetailServiceImpl extends BaseServiceImpl<DisStockListD
QueryWrapper<DisStockListDetailEntity> queryWrapper = Condition.getQueryWrapper(disStockListDetail, DisStockListDetailEntity.class);
queryWrapper.eq(ObjectUtil.isNotNull(stockListId),"stock_list_id",stockListId);
queryWrapper.eq(ObjectUtil.isNotNull(reservationId),"reservation_id",reservationId);
queryWrapper.in("stock_package_status","1,3");
return baseMapper.selectList(queryWrapper);
queryWrapper.apply("stock_package_status in (1,3)");
List<DisStockListDetailEntity> disStockListDetailEntities = baseMapper.selectList(queryWrapper);
disStockListDetailEntities.forEach(dis ->{
DistributionStockListEntity byId = distributionStockListService.getById(dis.getStockListId());
DisStockListVO disStockListVO = new DisStockListVO();
disStockListVO.setId(dis.getId());
disStockListVO.setStockPackageCode(dis.getStockPackageCode());
disStockListVO.setSku(byId.getSku());
disStockListVO.setCargoUnit(byId.getCargoUnit());
disStockListVO.setOrderCode(byId.getOrderCode());
disStockListVO.setDescriptionGoods(byId.getDescriptionGoods());
disStockListVO.setBrandName(byId.getBrandName());
disStockListVO.setStockListId(disStockListVO.getStockListId());
disStockListVO.setReservationId(disStockListVO.getReservationId());
list.add(disStockListVO);
}
);
return list;
}
/**
* 打印模板
*
* @param disStockListDetail
* @return
*/
@Override
public OrderPackgeCodeDataVO getPrintDetail(Map<String, Object> disStockListDetail) throws Exception {
OrderPackgeCodeDataVO orderPackgeCodeDataVO = new OrderPackgeCodeDataVO();
List<Map> data = new ArrayList<>();
//查询模板
BasicPrintTemplateEntity template = basicPrintTemplateClient.getPrintTemplate(PrintTemplateStatusConstant.daiqueren_11.getValue());
if (org.springblade.core.tool.utils.ObjectUtil.isEmpty(template)) {
throw new ServiceException("模板内容未找到");
}
String html = TemplateUtil.getTemplateByUrl(template.getTemplateUrl());
orderPackgeCodeDataVO.setTemplateHtml(html);
orderPackgeCodeDataVO.setTemplateId(template.getId());
String type = (String) disStockListDetail.get("type");
switch (type){
case "1":
String qrCode = (String) disStockListDetail.get("stockPackageCode");
if (Func.isBlank(qrCode)) {
log.error("参数异常:+{" + qrCode + "}");
throw new ServiceException("服务器正忙!!!");
}
//单个
String filename = QRCodeUtil.createCodeToFile(qrCode);
disStockListDetail.put("img", QRCodeUtil.getEmpAutograph(filename));
data.add(disStockListDetail);
orderPackgeCodeDataVO.setDataList(data);
return orderPackgeCodeDataVO;
case "2":
//包条码批量
String ids = (String) disStockListDetail.get("ids");
String[] idArray = ids.split(",");
if(ObjectUtils.isNull(idArray)){
throw new ServiceException("参数错误");
}
for (String id : idArray) {
// DisStockListDetailEntity dis = baseMapper.selectById(id);
// DistributionStockListEntity byId = distributionStockListService.getById(dis.getStockListId());
// DisStockListVO disStockListVO = new DisStockListVO();
// disStockListVO.setId(dis.getId());
// disStockListVO.setStockPackageCode(dis.getStockPackageCode());
// disStockListVO.setSku(byId.getSku());
// disStockListVO.setCargoUnit(byId.getCargoUnit());
// disStockListVO.setOrderCode(byId.getOrderCode());
// disStockListVO.setDescriptionGoods(byId.getDescriptionGoods());
// disStockListVO.setBrandName(byId.getBrandName());
// disStockListVO.setStockListId(disStockListVO.getStockListId());
// disStockListVO.setReservationId(disStockListVO.getReservationId());
//
// Map<String, Object> map = JSONObject.parseObject(JSONObject.toJSONString(disStockListVO), Map.class);
// String fileTypeName = QRCodeUtil.createCodeToFile(dis.getStockPackageCode());
// map.put("img", QRCodeUtil.getEmpAutograph(fileTypeName));
data.add(fuzhi(id));
}
orderPackgeCodeDataVO.setDataList(data);
return orderPackgeCodeDataVO;
case "3":
//订单批量
String idsr = (String) disStockListDetail.get("ids");
String[] idArrays = idsr.split(",");
if(ObjectUtils.isNull(idArrays)){
throw new ServiceException("参数错误");
}
for (String id : idArrays) {
DistributionReservationStocklistEntity byId = distributionReservationStocklistService.getById(id);
List<DisStockListDetailEntity> disStockLists = baseMapper.selectList(Wrappers.<DisStockListDetailEntity>query().lambda()
.eq(DisStockListDetailEntity::getStockListId, byId.getStocklistId())
.eq(DisStockListDetailEntity::getReservationId, byId.getReservationId())
.apply("stock_package_status in (1,3)")
);
disStockLists.forEach(i ->{
data.add(fuzhi(String.valueOf( i.getId())));
});
}
orderPackgeCodeDataVO.setDataList(data);
return orderPackgeCodeDataVO;
default:
throw new IllegalStateException("Unexpected value: " + type);
}
}
/**
* 赋值模板转换
* @param id
* @return
*/
public Map<String, Object> fuzhi(String id){
DisStockListDetailEntity dis = baseMapper.selectById(id);
DistributionStockListEntity byId = distributionStockListService.getById(dis.getStockListId());
DisStockListVO disStockListVO = new DisStockListVO();
disStockListVO.setId(dis.getId());
disStockListVO.setStockPackageCode(dis.getStockPackageCode());
disStockListVO.setSku(byId.getSku());
disStockListVO.setCargoUnit(byId.getCargoUnit());
disStockListVO.setOrderCode(byId.getOrderCode());
disStockListVO.setDescriptionGoods(byId.getDescriptionGoods());
disStockListVO.setBrandName(byId.getBrandName());
disStockListVO.setStockListId(disStockListVO.getStockListId());
disStockListVO.setReservationId(disStockListVO.getReservationId());
Map<String, Object> map = JSONObject.parseObject(JSONObject.toJSONString(disStockListVO), Map.class);
String fileTypeName = QRCodeUtil.createCodeToFile(dis.getStockPackageCode());
map.put("img", QRCodeUtil.getEmpAutograph(fileTypeName));
return map;
}
}

Loading…
Cancel
Save