Browse Source

Merge remote-tracking branch 'origin/dev' into dev

dist.1.3.0
zhenghaoyu 9 months ago
parent
commit
a71087ef63
  1. 2
      blade-biz-common/src/main/java/org/springblade/common/constant/ModuleNameConstant.java
  2. 11
      blade-biz-common/src/main/java/org/springblade/common/utils/CommonUtil.java
  3. 7
      blade-biz-common/src/main/java/org/springblade/common/utils/QRCodeUtil.java
  4. 1
      blade-service-api/logpm-basicdata-api/src/main/java/com/logpm/basicdata/entity/BasicdataCodeRecordEntity.java
  5. 3
      blade-service-api/logpm-basicdata-api/src/main/java/com/logpm/basicdata/entity/BasicdataFactoryCategoryEntity.java
  6. 2
      blade-service-api/logpm-warehouse-api/src/main/java/com/logpm/warehouse/vo/WarehouseTrayQRCode.java
  7. 2
      blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/mapper/BasicdataCodeRecordMapper.java
  8. 1
      blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/mapper/BasicdataCodeRecordMapper.xml
  9. 25
      blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/mapper/BasicdataFactoryCategoryMapper.xml
  10. 2
      blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/mapper/BasicdataTrayMapper.xml
  11. 2
      blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/service/IBasicdataCodeRecordService.java
  12. 4
      blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/service/impl/BasicdataCodeRecordServiceImpl.java
  13. 267
      blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/service/impl/BasicdataCodeServiceImpl.java
  14. 1
      blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/service/impl/BasicdataTrayServiceImpl.java
  15. 3
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/api/DistributionAddvalueAppController.java
  16. 13
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/controller/DistributionStockArticleController.java
  17. 28
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionReservationMapper.java
  18. 139
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionReservationMapper.xml
  19. 2
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistrilbutionBillLadingMapper.xml
  20. 3
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/IDistributionAddvalueService.java
  21. 379
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionAddvalueServiceImpl.java
  22. 9
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionDeliveryListServiceImpl.java
  23. 18
      blade-service/logpm-factory-data/logpm-factory-data-mengtian/src/main/java/com/logpm/factorydata/mengtian/controller/OrderController.java
  24. 35
      blade-service/logpm-factory-data/logpm-factory-data-mengtian/src/main/java/com/logpm/factorydata/mengtian/entity/FactoryNodePushEntity.java
  25. 2
      blade-service/logpm-factory-data/logpm-factory-data-mengtian/src/main/java/com/logpm/factorydata/mengtian/mapper/FactoryNodePushMapper.java
  26. 13
      blade-service/logpm-factory-data/logpm-factory-data-mengtian/src/main/java/com/logpm/factorydata/mengtian/mapper/FactoryNodePushMapper.xml
  27. 6
      blade-service/logpm-factory-data/logpm-factory-data-mengtian/src/main/java/com/logpm/factorydata/mengtian/mq/NodeDataPushListener.java
  28. 32
      blade-service/logpm-factory-data/logpm-factory-data-mengtian/src/main/java/com/logpm/factorydata/mengtian/query/FactoryNodePushQuery.java
  29. 10
      blade-service/logpm-factory-data/logpm-factory-data-mengtian/src/main/java/com/logpm/factorydata/mengtian/service/FactoryNodePushService.java
  30. 46
      blade-service/logpm-factory-data/logpm-factory-data-mengtian/src/main/java/com/logpm/factorydata/mengtian/service/impl/FactoryNodePushServiceImpl.java
  31. 28
      blade-service/logpm-factory-data/logpm-factory-data-mengtian/src/main/java/com/logpm/factorydata/mengtian/util/QueryUtil.java
  32. 4
      blade-service/logpm-factory-data/logpm-factory-data-mengtian/src/main/java/com/logpm/factorydata/mengtian/vo/CentralStkInConfirmOrderVO.java
  33. 4
      blade-service/logpm-factory-data/logpm-factory-data-mengtian/src/main/java/com/logpm/factorydata/mengtian/vo/SignForConfirmPackageVO.java
  34. 2
      blade-service/logpm-factory/src/main/java/com/logpm/factory/mt/service/impl/MtFactoryDataServiceImpl.java
  35. 55
      blade-service/logpm-factory/src/test/java/com/logpm/factory/TestService.java
  36. 20
      blade-service/logpm-patch/src/main/java/com/logpm/patch/jobhandle/DistributionDatarepair.java
  37. 1
      blade-service/logpm-patch/src/main/java/com/logpm/patch/mapper/WarehouseMappingDataMapper.java
  38. 5
      blade-service/logpm-patch/src/main/java/com/logpm/patch/mapper/WarehouseMappingDataMapper.xml
  39. 6
      blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/impl/TrunklineAdvanceDetailServiceImpl.java

2
blade-biz-common/src/main/java/org/springblade/common/constant/ModuleNameConstant.java

@ -9,7 +9,7 @@ public interface ModuleNameConstant {
/**
* 如果不需要 ""
*/
public static final String DEVAUTH ="-tjj";
public static final String DEVAUTH ="";
/**
* 工厂对接服务名称

11
blade-biz-common/src/main/java/org/springblade/common/utils/CommonUtil.java

@ -229,6 +229,15 @@ public class CommonUtil {
return preMonth;
}
/**
* 数字前面自动补零
* @param number 数字
* @return
*/
public static String geFourNumberByString(String number,int num){
return geFourNumber(Long.parseLong(number),num);
}
/**
* 数字前面自动补零
* @param number 数字
@ -259,6 +268,8 @@ public class CommonUtil {
}
public static Date getEndByDateStr(String endDate) {
try {
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");

7
blade-biz-common/src/main/java/org/springblade/common/utils/QRCodeUtil.java

@ -105,6 +105,11 @@ public class QRCodeUtil {
return null;
}
/**
* 条形码
* @param content
* @return
*/
public static String createCodeToFileType(String content) {
try {
//getResource("/")等同于到resource文件夹下
@ -167,7 +172,7 @@ public class QRCodeUtil {
hints.put(EncodeHintType.ERROR_CORRECTION, ErrorCorrectionLevel.M);
//EncodeHintType.MARGIN:设置二维码边距,单位像素,值越小,二维码距离四周越近
hints.put(EncodeHintType.MARGIN, 1);
hints.put(EncodeHintType.MARGIN, 0);
MultiFormatWriter multiFormatWriter = new MultiFormatWriter();
BitMatrix bitMatrix = multiFormatWriter.encode(content, BarcodeFormat.QR_CODE, CODE_WIDTH, CODE_HEIGHT, hints);

1
blade-service-api/logpm-basicdata-api/src/main/java/com/logpm/basicdata/entity/BasicdataCodeRecordEntity.java

@ -18,6 +18,7 @@ public class BasicdataCodeRecordEntity extends TenantEntity {
private String warehouseCode;
private String year;
private String month;
private String day;
private Integer num;
}

3
blade-service-api/logpm-basicdata-api/src/main/java/com/logpm/basicdata/entity/BasicdataFactoryCategoryEntity.java

@ -64,6 +64,9 @@ public class BasicdataFactoryCategoryEntity extends TenantEntity {
@ApiModelProperty(value = "品牌id")
private Long brandId;
@ApiModelProperty(value = "结算类型 1 收入 2 成本")
private Integer type;

2
blade-service-api/logpm-warehouse-api/src/main/java/com/logpm/warehouse/vo/WarehouseTrayQRCode.java

@ -14,6 +14,8 @@ public class WarehouseTrayQRCode {
private String trayCode;
private String palletName;
public Map<String, Object> toMap() throws IllegalAccessException {
Map<String, Object> map = new HashMap<>();

2
blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/mapper/BasicdataCodeRecordMapper.java

@ -7,5 +7,5 @@ import org.apache.ibatis.annotations.Param;
@Mapper
public interface BasicdataCodeRecordMapper extends BaseMapper<BasicdataCodeRecordEntity> {
BasicdataCodeRecordEntity findEntityByCodeTypeAndWarehouseCodeAndYearAndMonth(@Param("type") Integer type, @Param("warehouseCode") String warehouseCode, @Param("year") String year, @Param("month") String month);
BasicdataCodeRecordEntity findEntityByCodeTypeAndWarehouseCodeAndYearAndMonth(@Param("type") Integer type, @Param("warehouseCode") String warehouseCode, @Param("year") String year, @Param("month") String month,@Param("day") String day);
}

1
blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/mapper/BasicdataCodeRecordMapper.xml

@ -10,6 +10,7 @@
and warehouse_code = #{warehouseCode}
and `year` = #{year}
and `month` = #{month}
and `day` = #{day}
</select>
</mapper>

25
blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/mapper/BasicdataFactoryCategoryMapper.xml

@ -7,8 +7,23 @@
from logpm_basicdata_factory_category
where 1=1
and is_deleted = 0
<if test="param.brand != null and param.brand != ''">
and brand = #{param.brand}
<if test="param.type != null ">
and type = #{param.type}
</if>
<if test="param.category != null and param.category != ''">
and category = #{param.category}
</if>
<if test="param.firsts != null and param.firsts != ''">
and firsts = #{param.firsts}
</if>
<if test="param.seconds != null and param.seconds != ''">
and seconds = #{param.seconds}
</if>
<if test="param.thirds != null and param.thirds != ''">
and thirds = #{param.thirds}
</if>
</select>
@ -18,6 +33,12 @@
where 1=1
and brand = #{param.brand}
and is_deleted = 0
<if test="param.type != null and param.type != ''">
and type = #{param.type}
</if>
<if test="param.category != null and param.category != ''">
and category = #{param.category}
</if>
<if test="param.firsts == null or param.firsts == ''">
and (firsts is null or firsts = '')
</if>

2
blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/mapper/BasicdataTrayMapper.xml

@ -414,7 +414,7 @@
<select id="getTray" resultType="com.logpm.warehouse.vo.WarehouseTrayQRCode">
SELECT lwt.pallet_code trayCode ,lww.name warehouseName from logpm_warehouse_tray lwt LEFT JOIN logpm_warehouse_warehouse lww on lww.id =lwt.warehouse_id where lwt.id = #{id}
SELECT lwt.pallet_code trayCode ,lww.name warehouseName,lwt.pallet_name from logpm_warehouse_tray lwt LEFT JOIN logpm_warehouse_warehouse lww on lww.id =lwt.warehouse_id where lwt.id = #{id}
</select>

2
blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/service/IBasicdataCodeRecordService.java

@ -4,5 +4,5 @@ import com.logpm.basicdata.entity.BasicdataCodeRecordEntity;
import org.springblade.core.mp.base.BaseService;
public interface IBasicdataCodeRecordService extends BaseService<BasicdataCodeRecordEntity> {
BasicdataCodeRecordEntity findEntityByCodeTypeAndWarehouseCodeAndYearAndMonth(Integer type, String warehouseCode, String year, String month);
BasicdataCodeRecordEntity findEntityByCodeTypeAndWarehouseCodeAndYearAndMonth(Integer type, String warehouseCode, String year, String month,String day);
}

4
blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/service/impl/BasicdataCodeRecordServiceImpl.java

@ -13,7 +13,7 @@ import org.springframework.stereotype.Service;
@AllArgsConstructor
public class BasicdataCodeRecordServiceImpl extends BaseServiceImpl<BasicdataCodeRecordMapper, BasicdataCodeRecordEntity> implements IBasicdataCodeRecordService {
@Override
public BasicdataCodeRecordEntity findEntityByCodeTypeAndWarehouseCodeAndYearAndMonth(Integer type, String warehouseCode, String year, String month) {
return baseMapper.findEntityByCodeTypeAndWarehouseCodeAndYearAndMonth(type,warehouseCode,year,month);
public BasicdataCodeRecordEntity findEntityByCodeTypeAndWarehouseCodeAndYearAndMonth(Integer type, String warehouseCode, String year, String month,String day) {
return baseMapper.findEntityByCodeTypeAndWarehouseCodeAndYearAndMonth(type,warehouseCode,year,month,day);
}
}

267
blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/service/impl/BasicdataCodeServiceImpl.java

@ -7,6 +7,7 @@ import com.logpm.basicdata.entity.BasicdataWarehouseEntity;
import com.logpm.basicdata.service.IBasicdataCodeRecordService;
import com.logpm.basicdata.service.IBasicdataCodeService;
import com.logpm.basicdata.service.IBasicdataWarehouseService;
import io.swagger.models.auth.In;
import lombok.AllArgsConstructor;
import lombok.extern.log4j.Log4j2;
import org.springblade.common.constant.CodeDesEnum;
@ -38,6 +39,7 @@ public class BasicdataCodeServiceImpl implements IBasicdataCodeService {
/**
* 根据类型生成编号
*
* @param type
* @return
*/
@ -99,31 +101,18 @@ public class BasicdataCodeServiceImpl implements IBasicdataCodeService {
return null;
}
BasicdataWarehouseEntity basicdataWarehouseEntity = basicdataWarehouseService.getWarehouseEntityByWarehouseCode(warehouseCode);
if (Objects.isNull(basicdataWarehouseEntity)) {
log.warn("############getWayBillNo: 仓库信息不存在 warehouseCode={}", warehouseCode);
return null;
}
Calendar calendar = Calendar.getInstance();
//获取年份
Integer year = calendar.get(Calendar.YEAR);
// 获取月份(注意月份从0开始计数)
Integer month = calendar.get(Calendar.MONTH) + 1;
BasicdataCodeRecordEntity basicdataCodeRecordEntity = basicdataCodeRecordService.findEntityByCodeTypeAndWarehouseCodeAndYearAndMonth(CodeNumConstant.PACKAGE,warehouseCode,year+"",month+"");
BasicdataCodeRecordEntity basicdataCodeRecordEntity = getBasicdataCodeRecordEntity(type, basicdataWarehouseEntity);
if(Objects.isNull(basicdataCodeRecordEntity)){
basicdataCodeRecordEntity = new BasicdataCodeRecordEntity();
basicdataCodeRecordEntity.setCodeType(CodeNumConstant.PACKAGE);
basicdataCodeRecordEntity.setWarehouseName("全仓");
basicdataCodeRecordEntity.setWarehouseCode(warehouseCode);
basicdataCodeRecordEntity.setYear(year+"");
basicdataCodeRecordEntity.setMonth(month+"");
basicdataCodeRecordEntity.setNum(0);
basicdataCodeRecordService.save(basicdataCodeRecordEntity);
}
Integer oldNum = basicdataCodeRecordEntity.getNum();
oldNum = oldNum + 1;
String packageCode = "JSD" + year + CommonUtil.geFourNumber(month.longValue(),2) + CommonUtil.geFourNumber(oldNum.longValue(),6);
String packageCode = "JSD" + basicdataCodeRecordEntity.getYear() + CommonUtil.geFourNumberByString(basicdataCodeRecordEntity.getMonth(), 2) + CommonUtil.geFourNumber(oldNum.longValue(), 6);
basicdataCodeRecordEntity.setNum(oldNum);
basicdataCodeRecordService.updateById(basicdataCodeRecordEntity);
@ -140,43 +129,29 @@ public class BasicdataCodeServiceImpl implements IBasicdataCodeService {
log.warn("############getBatchPackageCodeByType: 订单号为空orderCode={}", orderCode);
return null;
}
//包条 HT+仓库拼音/超管/职能+年月日时分秒+订单索引+包条个数索引
String haxCodeByLong = CommonUtil.getHaxCodeByLong(orderCode, 8);
BasicdataWarehouseEntity basicdataWarehouseEntity = basicdataWarehouseService.getWarehouseEntityByWarehouseCode(warehouseCode);
if (Objects.isNull(basicdataWarehouseEntity)) {
log.warn("############getWayBillNo: 仓库信息不存在 warehouseCode={}", warehouseCode);
return null;
}
//包条 HT+仓库拼音/超管/职能+年月日时分秒+订单索引+包条个数索引CodeNumConstant.PACKAGE
BasicdataCodeRecordEntity basicdataCodeRecordEntity = getBasicdataCodeRecordEntity(CodeDesEnum.PACKAGE.getCodeNum(), basicdataWarehouseEntity);
Calendar calendar = Calendar.getInstance();
//获取年份
Integer year = calendar.get(Calendar.YEAR);
// 获取月份(注意月份从0开始计数)
Integer month = calendar.get(Calendar.MONTH) + 1;
BasicdataCodeRecordEntity basicdataCodeRecordEntity = basicdataCodeRecordService.findEntityByCodeTypeAndWarehouseCodeAndYearAndMonth(CodeNumConstant.PACKAGE,warehouseCode,year+"",month+"");
if(Objects.isNull(basicdataCodeRecordEntity)){
basicdataCodeRecordEntity = new BasicdataCodeRecordEntity();
basicdataCodeRecordEntity.setCodeType(CodeNumConstant.PACKAGE);
basicdataCodeRecordEntity.setWarehouseId(basicdataWarehouseEntity.getId());
basicdataCodeRecordEntity.setWarehouseName(basicdataWarehouseEntity.getName());
basicdataCodeRecordEntity.setWarehouseCode(warehouseCode);
basicdataCodeRecordEntity.setYear(year+"");
basicdataCodeRecordEntity.setMonth(month+"");
basicdataCodeRecordEntity.setNum(0);
basicdataCodeRecordService.save(basicdataCodeRecordEntity);
}
Integer oldNum = basicdataCodeRecordEntity.getNum();
List<String> packageCodes = new ArrayList<>();
int year =Integer.parseInt(basicdataCodeRecordEntity.getYear())%100;
for (int i = 0; i < num; i++) {
//获取时间戳后面的时分秒
try {
Thread.sleep(1);
} catch (InterruptedException e) {
throw new RuntimeException(e);
}
String time = new String(System.currentTimeMillis() + "");
time=time.substring(4);
oldNum = oldNum + 1;
String packageCode = "HT" + warehouseCode + year + CommonUtil.geFourNumber(month.longValue(),2) + haxCodeByLong + CommonUtil.geFourNumber(oldNum.longValue(),6);
String packageCode = "HT" + warehouseCode + year + CommonUtil.geFourNumberByString(basicdataCodeRecordEntity.getMonth(), 2) + basicdataCodeRecordEntity.getDay() + time;
packageCodes.add(packageCode);
}
basicdataCodeRecordEntity.setNum(oldNum);
@ -199,34 +174,50 @@ public class BasicdataCodeServiceImpl implements IBasicdataCodeService {
return null;
}
BasicdataCodeRecordEntity basicdataCodeRecordEntity = getBasicdataCodeRecordEntity(type, basicdataWarehouseEntity);
Integer inrc = basicdataCodeRecordEntity.getNum() + 1;
basicdataCodeRecordEntity.setNum(inrc);
basicdataCodeRecordService.updateById(basicdataCodeRecordEntity);
return warehouseCode + "ZFQS" + basicdataCodeRecordEntity.getYear() + basicdataCodeRecordEntity.getMonth() + CommonUtil.geFourNumber(inrc.longValue(), 5);
}
/**
* 获取编码生成记录
*
* @param type
* @param basicdataWarehouseEntity
* @return
*/
private BasicdataCodeRecordEntity getBasicdataCodeRecordEntity(Integer type, BasicdataWarehouseEntity basicdataWarehouseEntity) {
Calendar calendar = Calendar.getInstance();
//获取年份
Integer year = calendar.get(Calendar.YEAR);
// 获取月份(注意月份从0开始计数)
Integer month = calendar.get(Calendar.MONTH) + 1;
Integer day = calendar.get(Calendar.DAY_OF_MONTH);
BasicdataCodeRecordEntity basicdataCodeRecordEntity = basicdataCodeRecordService.findEntityByCodeTypeAndWarehouseCodeAndYearAndMonth(type,warehouseCode,year+"",month+"");
BasicdataCodeRecordEntity basicdataCodeRecordEntity = basicdataCodeRecordService.findEntityByCodeTypeAndWarehouseCodeAndYearAndMonth(type, basicdataWarehouseEntity.getWarehouseCode(), year + "", month + "", day + "");
if (Objects.isNull(basicdataCodeRecordEntity)) {
basicdataCodeRecordEntity = new BasicdataCodeRecordEntity();
basicdataCodeRecordEntity.setCodeType(type);
basicdataCodeRecordEntity.setWarehouseId(basicdataWarehouseEntity.getId());
basicdataCodeRecordEntity.setWarehouseName(basicdataWarehouseEntity.getName());
basicdataCodeRecordEntity.setWarehouseCode(warehouseCode);
basicdataCodeRecordEntity.setWarehouseCode(basicdataWarehouseEntity.getWarehouseCode());
basicdataCodeRecordEntity.setYear(year + "");
basicdataCodeRecordEntity.setMonth(month + "");
basicdataCodeRecordEntity.setDay(day + "");
basicdataCodeRecordEntity.setNum(0);
basicdataCodeRecordService.save(basicdataCodeRecordEntity);
}
Integer inrc = basicdataCodeRecordEntity.getNum() + 1;
basicdataCodeRecordEntity.setNum(inrc);
basicdataCodeRecordService.updateById(basicdataCodeRecordEntity);
return warehouseCode+"ZFQS"+year+CommonUtil.geFourNumber(month.longValue(), 2)+CommonUtil.geFourNumber(inrc.longValue(), 5);
return basicdataCodeRecordEntity;
}
private String generateTrunklineTripartiteLoadCode(Integer type, String warehouseCode, String orderCode) {
@ -242,33 +233,14 @@ public class BasicdataCodeServiceImpl implements IBasicdataCodeService {
return null;
}
Calendar calendar = Calendar.getInstance();
//获取年份
Integer year = calendar.get(Calendar.YEAR);
// 获取月份(注意月份从0开始计数)
Integer month = calendar.get(Calendar.MONTH) + 1;
BasicdataCodeRecordEntity basicdataCodeRecordEntity = basicdataCodeRecordService.findEntityByCodeTypeAndWarehouseCodeAndYearAndMonth(type,warehouseCode,year+"",month+"");
if(Objects.isNull(basicdataCodeRecordEntity)){
basicdataCodeRecordEntity = new BasicdataCodeRecordEntity();
basicdataCodeRecordEntity.setCodeType(type);
basicdataCodeRecordEntity.setWarehouseId(basicdataWarehouseEntity.getId());
basicdataCodeRecordEntity.setWarehouseName(basicdataWarehouseEntity.getName());
basicdataCodeRecordEntity.setWarehouseCode(warehouseCode);
basicdataCodeRecordEntity.setYear(year+"");
basicdataCodeRecordEntity.setMonth(month+"");
basicdataCodeRecordEntity.setNum(0);
basicdataCodeRecordService.save(basicdataCodeRecordEntity);
}
BasicdataCodeRecordEntity basicdataCodeRecordEntity = getBasicdataCodeRecordEntity(type, basicdataWarehouseEntity);
Integer inrc = basicdataCodeRecordEntity.getNum() + 1;
basicdataCodeRecordEntity.setNum(inrc);
basicdataCodeRecordService.updateById(basicdataCodeRecordEntity);
return warehouseCode+f+year+CommonUtil.geFourNumber(month.longValue(), 2)+CommonUtil.geFourNumber(inrc.longValue(),5);
return warehouseCode + f + basicdataCodeRecordEntity.getYear() + CommonUtil.geFourNumberByString(basicdataCodeRecordEntity.getMonth(), 2) + CommonUtil.geFourNumber(inrc.longValue(), 5);
}
private String generateTrunklineCarsLineCode(Integer type, String warehouseCode, String orderCode) {
@ -293,33 +265,16 @@ public class BasicdataCodeServiceImpl implements IBasicdataCodeService {
return null;
}
Calendar calendar = Calendar.getInstance();
//获取年份
Integer year = calendar.get(Calendar.YEAR);
// 获取月份(注意月份从0开始计数)
Integer month = calendar.get(Calendar.MONTH) + 1;
BasicdataCodeRecordEntity basicdataCodeRecordEntity = getBasicdataCodeRecordEntity(type, basicdataWarehouseEntity);
BasicdataCodeRecordEntity basicdataCodeRecordEntity = basicdataCodeRecordService.findEntityByCodeTypeAndWarehouseCodeAndYearAndMonth(type,warehouseCode,year+"",month+"");
if(Objects.isNull(basicdataCodeRecordEntity)){
basicdataCodeRecordEntity = new BasicdataCodeRecordEntity();
basicdataCodeRecordEntity.setCodeType(type);
basicdataCodeRecordEntity.setWarehouseId(basicdataWarehouseEntity.getId());
basicdataCodeRecordEntity.setWarehouseName(basicdataWarehouseEntity.getName());
basicdataCodeRecordEntity.setWarehouseCode(warehouseCode);
basicdataCodeRecordEntity.setYear(year+"");
basicdataCodeRecordEntity.setMonth(month+"");
basicdataCodeRecordEntity.setNum(0);
basicdataCodeRecordService.save(basicdataCodeRecordEntity);
}
Integer inrc = basicdataCodeRecordEntity.getNum() + 1;
basicdataCodeRecordEntity.setNum(inrc);
basicdataCodeRecordService.updateById(basicdataCodeRecordEntity);
return warehouseCode+f+year+CommonUtil.geFourNumber(month.longValue(), 2)+CommonUtil.geFourNumber(inrc.longValue(), 5);
return warehouseCode + f + basicdataCodeRecordEntity.getYear() + CommonUtil.geFourNumberByString(basicdataCodeRecordEntity.getMonth(), 2) + CommonUtil.geFourNumber(inrc.longValue(), 5);
}
@ -334,32 +289,13 @@ public class BasicdataCodeServiceImpl implements IBasicdataCodeService {
return null;
}
Calendar calendar = Calendar.getInstance();
//获取年份
Integer year = calendar.get(Calendar.YEAR);
// 获取月份(注意月份从0开始计数)
Integer month = calendar.get(Calendar.MONTH) + 1;
BasicdataCodeRecordEntity basicdataCodeRecordEntity = basicdataCodeRecordService.findEntityByCodeTypeAndWarehouseCodeAndYearAndMonth(type,warehouseCode,year+"",month+"");
BasicdataCodeRecordEntity basicdataCodeRecordEntity = getBasicdataCodeRecordEntity(type, basicdataWarehouseEntity);
if(Objects.isNull(basicdataCodeRecordEntity)){
basicdataCodeRecordEntity = new BasicdataCodeRecordEntity();
basicdataCodeRecordEntity.setCodeType(type);
basicdataCodeRecordEntity.setWarehouseId(basicdataWarehouseEntity.getId());
basicdataCodeRecordEntity.setWarehouseName(basicdataWarehouseEntity.getName());
basicdataCodeRecordEntity.setWarehouseCode(warehouseCode);
basicdataCodeRecordEntity.setYear(year+"");
basicdataCodeRecordEntity.setMonth(month+"");
basicdataCodeRecordEntity.setNum(0);
basicdataCodeRecordService.save(basicdataCodeRecordEntity);
}
Integer inrc = basicdataCodeRecordEntity.getNum() + 1;
basicdataCodeRecordEntity.setNum(inrc);
basicdataCodeRecordService.updateById(basicdataCodeRecordEntity);
return warehouseCode+"TH"+year+CommonUtil.geFourNumber(month.longValue(),2)+CommonUtil.geFourNumber(inrc.longValue(),5);
return warehouseCode + "TH" + basicdataCodeRecordEntity.getYear() + CommonUtil.geFourNumberByString(basicdataCodeRecordEntity.getMonth(), 2) + CommonUtil.geFourNumber(inrc.longValue(), 5);
}
private String generateExOrderCode(Integer type, String warehouseCode, String orderCode) {
@ -376,35 +312,15 @@ public class BasicdataCodeServiceImpl implements IBasicdataCodeService {
return null;
}
Calendar calendar = Calendar.getInstance();
//获取年份
Integer year = calendar.get(Calendar.YEAR);
// 获取月份(注意月份从0开始计数)
Integer month = calendar.get(Calendar.MONTH) + 1;
// 获取日期
Integer day = calendar.get(Calendar.DAY_OF_MONTH);
BasicdataCodeRecordEntity basicdataCodeRecordEntity = getBasicdataCodeRecordEntity(type, basicdataWarehouseEntity);
BasicdataCodeRecordEntity basicdataCodeRecordEntity = basicdataCodeRecordService.findEntityByCodeTypeAndWarehouseCodeAndYearAndMonth(type,warehouseCode,year+"",month+"");
if(Objects.isNull(basicdataCodeRecordEntity)){
basicdataCodeRecordEntity = new BasicdataCodeRecordEntity();
basicdataCodeRecordEntity.setCodeType(type);
basicdataCodeRecordEntity.setWarehouseId(basicdataWarehouseEntity.getId());
basicdataCodeRecordEntity.setWarehouseName(basicdataWarehouseEntity.getName());
basicdataCodeRecordEntity.setWarehouseCode(warehouseCode);
basicdataCodeRecordEntity.setYear(year+"");
basicdataCodeRecordEntity.setMonth(month+"");
basicdataCodeRecordEntity.setNum(0);
basicdataCodeRecordService.save(basicdataCodeRecordEntity);
}
Integer inrc = basicdataCodeRecordEntity.getNum() + 1;
basicdataCodeRecordEntity.setNum(inrc);
basicdataCodeRecordService.updateById(basicdataCodeRecordEntity);
return "HTEX"+warehouseCode+year+CommonUtil.geFourNumber(month.longValue(), 2)+CommonUtil.geFourNumber(day.longValue(), 2)+CommonUtil.geFourNumber(inrc.longValue(),5);
return "HTEX" + warehouseCode + basicdataCodeRecordEntity.getYear() + CommonUtil.geFourNumberByString(basicdataCodeRecordEntity.getMonth(), 2) + CommonUtil.geFourNumberByString(basicdataCodeRecordEntity.getDay(), 2) + CommonUtil.geFourNumber(inrc.longValue(), 5);
}
private String generateTraysCode(Integer type, String warehouseCode) {
@ -431,33 +347,14 @@ public class BasicdataCodeServiceImpl implements IBasicdataCodeService {
String abbreviation = basicdataWarehouseEntity.getAbbreviation();
Calendar calendar = Calendar.getInstance();
//获取年份
Integer year = calendar.get(Calendar.YEAR);
// 获取月份(注意月份从0开始计数)
Integer month = calendar.get(Calendar.MONTH) + 1;
BasicdataCodeRecordEntity basicdataCodeRecordEntity = basicdataCodeRecordService.findEntityByCodeTypeAndWarehouseCodeAndYearAndMonth(type,warehouseCode,year+"",month+"");
BasicdataCodeRecordEntity basicdataCodeRecordEntity = getBasicdataCodeRecordEntity(type, basicdataWarehouseEntity);
if(Objects.isNull(basicdataCodeRecordEntity)){
basicdataCodeRecordEntity = new BasicdataCodeRecordEntity();
basicdataCodeRecordEntity.setCodeType(type);
basicdataCodeRecordEntity.setWarehouseId(basicdataWarehouseEntity.getId());
basicdataCodeRecordEntity.setWarehouseName(basicdataWarehouseEntity.getName());
basicdataCodeRecordEntity.setWarehouseCode(warehouseCode);
basicdataCodeRecordEntity.setYear(year+"");
basicdataCodeRecordEntity.setMonth(month+"");
basicdataCodeRecordEntity.setNum(100000);
basicdataCodeRecordService.save(basicdataCodeRecordEntity);
}
Integer inrc = basicdataCodeRecordEntity.getNum() + 1;
basicdataCodeRecordEntity.setNum(inrc);
basicdataCodeRecordService.updateById(basicdataCodeRecordEntity);
String trayCode = code+ warehouseCode + (year%100) + inrc;
String trayCode = code + warehouseCode + (Integer.parseInt(basicdataCodeRecordEntity.getYear()) % 100) + inrc;
String trayName = desName + abbreviation + inrc;
return trayCode + "&&" + trayName;
@ -466,6 +363,7 @@ public class BasicdataCodeServiceImpl implements IBasicdataCodeService {
/**
* 生成仓库对应的运单号
*
* @param type
* @param warehouseCode
* @return
@ -482,33 +380,13 @@ public class BasicdataCodeServiceImpl implements IBasicdataCodeService {
return null;
}
Calendar calendar = Calendar.getInstance();
//获取年份
Integer year = calendar.get(Calendar.YEAR);
// 获取月份(注意月份从0开始计数)
Integer month = calendar.get(Calendar.MONTH) + 1;
BasicdataCodeRecordEntity basicdataCodeRecordEntity = basicdataCodeRecordService.findEntityByCodeTypeAndWarehouseCodeAndYearAndMonth(type,warehouseCode,year+"",month+"");
if(Objects.isNull(basicdataCodeRecordEntity)){
basicdataCodeRecordEntity = new BasicdataCodeRecordEntity();
basicdataCodeRecordEntity.setCodeType(type);
basicdataCodeRecordEntity.setWarehouseId(basicdataWarehouseEntity.getId());
basicdataCodeRecordEntity.setWarehouseName(basicdataWarehouseEntity.getName());
basicdataCodeRecordEntity.setWarehouseCode(warehouseCode);
basicdataCodeRecordEntity.setYear(year+"");
basicdataCodeRecordEntity.setMonth(month+"");
basicdataCodeRecordEntity.setNum(0);
basicdataCodeRecordService.save(basicdataCodeRecordEntity);
}
BasicdataCodeRecordEntity basicdataCodeRecordEntity = getBasicdataCodeRecordEntity(type, basicdataWarehouseEntity);
Integer inrc = basicdataCodeRecordEntity.getNum() + 1;
basicdataCodeRecordEntity.setNum(inrc);
basicdataCodeRecordService.updateById(basicdataCodeRecordEntity);
return warehouseCode+year+CommonUtil.geFourNumber(month.longValue(),2)+CommonUtil.geFourNumber(inrc.longValue(),5);
return warehouseCode + basicdataCodeRecordEntity.getYear() + CommonUtil.geFourNumberByString(basicdataCodeRecordEntity.getMonth(), 2) + CommonUtil.geFourNumber(inrc.longValue(), 5);
}
@ -534,6 +412,7 @@ public class BasicdataCodeServiceImpl implements IBasicdataCodeService {
/**
* 生成配送车次号编码
*
* @param type
*/
private String generateDeliveryTrainNumber(Integer type, String warehouseCode) {
@ -576,32 +455,12 @@ public class BasicdataCodeServiceImpl implements IBasicdataCodeService {
return null;
}
Calendar calendar = Calendar.getInstance();
//获取年份
Integer year = calendar.get(Calendar.YEAR);
// 获取月份(注意月份从0开始计数)
Integer month = calendar.get(Calendar.MONTH) + 1;
BasicdataCodeRecordEntity basicdataCodeRecordEntity = basicdataCodeRecordService.findEntityByCodeTypeAndWarehouseCodeAndYearAndMonth(type,warehouseCode,year+"",month+"");
if(Objects.isNull(basicdataCodeRecordEntity)){
basicdataCodeRecordEntity = new BasicdataCodeRecordEntity();
basicdataCodeRecordEntity.setCodeType(type);
basicdataCodeRecordEntity.setWarehouseId(basicdataWarehouseEntity.getId());
basicdataCodeRecordEntity.setWarehouseName(basicdataWarehouseEntity.getName());
basicdataCodeRecordEntity.setWarehouseCode(warehouseCode);
basicdataCodeRecordEntity.setYear(year+"");
basicdataCodeRecordEntity.setMonth(month+"");
basicdataCodeRecordEntity.setNum(0);
basicdataCodeRecordService.save(basicdataCodeRecordEntity);
}
BasicdataCodeRecordEntity basicdataCodeRecordEntity = getBasicdataCodeRecordEntity(type, basicdataWarehouseEntity);
Integer inrc = basicdataCodeRecordEntity.getNum() + 1;
basicdataCodeRecordEntity.setNum(inrc);
basicdataCodeRecordService.updateById(basicdataCodeRecordEntity);
return "HT" + warehouseCode + year + CommonUtil.geFourNumber(month.longValue(),2) + haxCodeByLong + CommonUtil.geFourNumber(inrc.longValue(),6);
return "HT" + warehouseCode + basicdataCodeRecordEntity.getYear() + CommonUtil.geFourNumberByString(basicdataCodeRecordEntity.getMonth(), 2) + haxCodeByLong + CommonUtil.geFourNumber(inrc.longValue(), 6);
}
}

1
blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/service/impl/BasicdataTrayServiceImpl.java

@ -228,6 +228,7 @@ public class BasicdataTrayServiceImpl extends BaseServiceImpl<BasicdataTrayMappe
Map<String, Object> map = JSONObject.parseObject(JSONObject.toJSONString(trayQRCode), Map.class);
String filename = QRCodeUtil.createCodeToFile(trayQRCode.getTrayCode());
map.put("qrCode", QRCodeUtil.getEmpAutograph(filename));
map.put("palletName", trayQRCode.getPalletName());
String fileTypeName = QRCodeUtil.createCodeToFileType(trayQRCode.getTrayCode());
map.put("imgType", QRCodeUtil.getEmpAutograph(fileTypeName));
map.put("tenant","汇通物流");

3
blade-service/logpm-distribution/src/main/java/com/logpm/distribution/api/DistributionAddvalueAppController.java

@ -2,6 +2,7 @@ package com.logpm.distribution.api;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
import com.logpm.distribution.dto.DistributionAddvaluePackageDTO;
import com.logpm.distribution.dto.app.DistributionAppAddvalueDTO;
import com.logpm.distribution.service.impl.DistributionAddvalueServiceImpl;
import com.logpm.distribution.vo.DistributionAddvaluePackageVO;
@ -67,7 +68,7 @@ public class DistributionAddvalueAppController {
@ApiOperationSupport(order = 3)
@ApiOperation(value = "查询该客户下的所有配送包件信息", notes = "DistributionAppDeliveryListDTO")
public R getAllPackageList(@Valid @RequestBody DistributionAppAddvalueDTO distributionAppAddvalueDTO) {
List<DistributionAddvaluePackageVO> allPackageList = distributionAddvalueService.getAllPackageList(distributionAppAddvalueDTO);
List<DistributionAddvaluePackageDTO> allPackageList = distributionAddvalueService.getAllPackageList(distributionAppAddvalueDTO);
return R.data(200,allPackageList,"成功");
}

13
blade-service/logpm-distribution/src/main/java/com/logpm/distribution/controller/DistributionStockArticleController.java

@ -18,6 +18,7 @@ package com.logpm.distribution.controller;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
import com.logpm.basicdata.entity.BasicdataClientEntity;
import com.logpm.basicdata.entity.BasicdataClientUserEntity;
import com.logpm.basicdata.entity.BasicdataWarehouseEntity;
import com.logpm.basicdata.feign.IBasicdataClientClient;
@ -36,6 +37,7 @@ import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springblade.common.constant.DistributionTypeConstant;
import org.springblade.common.constant.orderpackage.OrderPackageReservationStatusConstant;
import org.springblade.core.boot.ctrl.BladeController;
import org.springblade.core.excel.util.ExcelUtil;
@ -377,8 +379,6 @@ public class DistributionStockArticleController extends BladeController {
@ApiOperationSupport(order = 5)
@ApiOperation(value = "修改", notes = "传入distributionStockArticle")
public R updateBatchClient(@Valid @RequestBody DistributionStockArticleDTO distributionStockArticleDTO) {
// 获取勾选的需要修改的订单信息
List<Long> ids = distributionStockArticleDTO.getEntityList().stream().map(DistributionStockArticleEntity::getId).collect(Collectors.toList());
// 查询这个订单集合的预约状态
@ -386,12 +386,15 @@ public class DistributionStockArticleController extends BladeController {
List<DistributionStockArticleEntity> entityList = distributionStockArticleDTO.getEntityList();
if (!realStockArticleList.isEmpty()) {
boolean isCheck = realStockArticleList.stream().allMatch(r -> DistributionTypeConstant.shipie.getValue().equals(r.getTypeService()));
if (!isCheck){
boolean flag = realStockArticleList.stream().anyMatch(a -> !OrderPackageReservationStatusConstant.daiyuyue.getValue().equals(a.getReservationStatus()));
if (flag) {
String orderCode = realStockArticleList.stream().filter(f -> !OrderPackageReservationStatusConstant.daiyuyue.getValue().equals(f.getReservationStatus())).map(DistributionStockArticleEntity::getOrderCode).distinct().collect(Collectors.joining(","));
return R.fail(orderCode + "存在预约信息");
}
}
}
for (DistributionStockArticleEntity stockArticleEntity : entityList) {
Long id = stockArticleEntity.getId();
@ -411,7 +414,13 @@ public class DistributionStockArticleController extends BladeController {
newStockArticle.setCustomerTelephone(stockArticleEntity.getCustomerTelephone());
newStockArticle.setCustomerAddress(stockArticleEntity.getCustomerAddress());
} else {
BasicdataClientEntity client = basicdataClientClient.findByName(mallName);
if (Func.isEmpty(client)){
throw new RuntimeException("客户信息错误!!!");
}
newStockArticle.setMallName(mallName);
stockArticleEntity.setMallId(client.getId());
stockArticleEntity.setMallCode(client.getClientCode());
newStockArticle.setConsigneeUnit(consigneeUnit);
}
String content = oldStockArticle.compareCustomerInfo(newStockArticle);

28
blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionReservationMapper.java

@ -185,19 +185,19 @@ public interface DistributionReservationMapper extends BaseMapper<DistributionRe
List<DisStockListDetailEntity> selectInventoryListByReservation(@Param("reservationId") Long reservationId);
/**
* 查询客户下的库存品信息
* @param reservationId
* @return
*/
List<DistributionAddvaluePackageVO> selectAppInventoryListByReservation(@Param("reservationId") Long reservationId);
// /**
// * 查询客户下的库存品信息
// * @param reservationId
// * @return
// */
// List<DistributionAddvaluePackageVO> selectAppInventoryListByReservation(@Param("reservationId") Long reservationId);
/**
* 查询客户下的包件信息
* @param reservationId
* @return
*/
List<DistributionAddvaluePackageVO> selectAppPackageListByReservationId(@Param("reservationId")Long reservationId);
// /**
// * 查询客户下的包件信息
// * @param reservationId
// * @return
// */
// List<DistributionAddvaluePackageVO> selectAppPackageListByReservationId(@Param("reservationId")Long reservationId);
/**
* 查询出客户下的库存品订单维度信息
@ -263,8 +263,8 @@ public interface DistributionReservationMapper extends BaseMapper<DistributionRe
*/
List<DistributionParcelNumberDTO> selectZeroPackageListByReservationId(@Param("reservationId")Long reservationId);
//查询零担品类包件信息
List<DistributionAddvaluePackageVO> selectAppZeroPackageListByReservationId(@Param("reservationId")Long reservationId);
// //查询零担品类包件信息
// List<DistributionAddvaluePackageVO> selectAppZeroPackageListByReservationId(@Param("reservationId")Long reservationId);
/**
* 查询商场客户的预约单

139
blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionReservationMapper.xml

@ -900,57 +900,58 @@
WHERE
ldr.id = #{reservationId} and ldsld.stock_package_status in ('1','3')
</select>
<select id="selectAppInventoryListByReservation"
resultType="com.logpm.distribution.vo.DistributionAddvaluePackageVO">
SELECT
ldsld.stock_list_id AS stockArticleId,
ldsld.id AS packageId,
ldsld.stock_package_code AS orderPackageCode,
ldsld.tenant_id AS tenantId,
ldsl.description_goods AS materialName,
ldsld.num AS quantity,
2 conditions,
ldsl.create_user AS createUser,
ldsl.create_dept AS createDept,
ldsl.create_time AS createTime,
ldsl.update_user AS updateUser,
ldsl.update_time AS updateTime,
ldsl.status AS status,
ldsl.is_deleted AS isDeleted,
ldsl.tenant_id AS tenantId,
ldsld.reservation_id AS reservationId
FROM
logpm_distribution_reservation AS ldr
INNER JOIN logpm_dis_stock_list_detail AS ldsld ON ldr.id = ldsld.reservation_id
INNER JOIN logpm_distribution_stock_list AS ldsl ON ldsl.id = ldsld.stock_list_id
WHERE
ldr.id = #{reservationId} and ldsld.stock_package_status in ('1','3')
</select>
<select id="selectAppPackageListByReservationId"
resultType="com.logpm.distribution.vo.DistributionAddvaluePackageVO">
SELECT
ldpl.stock_article_id AS stockArticleId,
ldpl.order_package_code AS orderPackageCode,
ldpl.material_name AS materialName,
ldpl.order_code AS orderCode,
ldpl.quantity AS quantity,
1 AS conditions,
ldpl.create_user AS createUser,
ldpl.create_dept AS createDept,
ldpl.create_time AS createTime,
ldpl.update_user AS updateUser,
ldpl.update_time AS updateTime,
ldpl.status AS status,
ldpl.is_deleted AS isDeleted,
ldpl.tenant_id AS tenantId,
ldrs.reservation_id AS reservationId,
ldpl.id AS packageId
FROM
logpm_distribution_reservation_package AS ldrs
INNER JOIN logpm_distribution_parcel_list AS ldpl ON ldrs.parce_list_id = ldpl.id
WHERE
ldrs.packet_bar_status IN ('1','3') and reservation_id = #{reservationId}
</select>
<!-- <select id="selectAppInventoryListByReservation"-->
<!-- resultType="com.logpm.distribution.vo.DistributionAddvaluePackageVO">-->
<!-- SELECT-->
<!-- ldsld.stock_list_id AS stockArticleId,-->
<!-- ldsld.id AS packageId,-->
<!-- ldsld.stock_package_code AS orderPackageCode,-->
<!-- ldsld.tenant_id AS tenantId,-->
<!-- ldsl.description_goods AS materialName,-->
<!-- ldsld.num AS quantity,-->
<!-- 2 conditions,-->
<!-- ldsl.create_user AS createUser,-->
<!-- ldsl.create_dept AS createDept,-->
<!-- ldsl.create_time AS createTime,-->
<!-- ldsl.update_user AS updateUser,-->
<!-- ldsl.update_time AS updateTime,-->
<!-- ldsl.status AS status,-->
<!-- ldsl.is_deleted AS isDeleted,-->
<!-- ldsl.tenant_id AS tenantId,-->
<!-- ldsld.reservation_id AS reservationId-->
<!-- FROM-->
<!-- logpm_distribution_reservation AS ldr-->
<!-- INNER JOIN logpm_dis_stock_list_detail AS ldsld ON ldr.id = ldsld.reservation_id-->
<!-- INNER JOIN logpm_distribution_stock_list AS ldsl ON ldsl.id = ldsld.stock_list_id-->
<!-- WHERE-->
<!-- ldr.id = #{reservationId} and ldsld.stock_package_status in ('1','3')-->
<!-- </select>-->
<!-- <select id="selectAppPackageListByReservationId"-->
<!-- resultType="com.logpm.distribution.vo.DistributionAddvaluePackageVO">-->
<!-- SELECT-->
<!-- ldpl.stock_article_id AS stockArticleId,-->
<!-- ldpl.order_package_code AS orderPackageCode,-->
<!-- ldpl.material_name AS materialName,-->
<!-- ldpl.order_code AS orderCode,-->
<!-- ldpl.quantity AS quantity,-->
<!-- 1 AS conditions,-->
<!-- ldpl.create_user AS createUser,-->
<!-- ldpl.create_dept AS createDept,-->
<!-- ldpl.create_time AS createTime,-->
<!-- ldpl.update_user AS updateUser,-->
<!-- ldpl.update_time AS updateTime,-->
<!-- ldpl.status AS status,-->
<!-- ldpl.is_deleted AS isDeleted,-->
<!-- ldpl.tenant_id AS tenantId,-->
<!-- ldrs.reservation_id AS reservationId,-->
<!-- ldpl.id AS packageId-->
<!-- FROM-->
<!-- logpm_distribution_reservation_package AS ldrs-->
<!-- LEFT JOIN logpm_distribution_parcel_list AS ldpl ON ldrs.parce_list_id = ldpl.id-->
<!-- LEFT JOIN logpm_distribution_reservation AS ldr ON ldrs.reservation_id = ldr.id-->
<!-- WHERE-->
<!-- ldrs.packet_bar_status IN ('1','3') and reservation_id = #{reservationId}-->
<!-- </select>-->
<select id="selectStockListByReservationId"
resultType="com.logpm.distribution.entity.DistributionReservationStocklistEntity">
SELECT
@ -1250,24 +1251,24 @@
ldrzp.reservation_id=#{reservationId} and ldrs.stock_article_status in ('1','3') AND ldrzp.zero_package_status
IN ( '1', '3' )
</select>
<select id="selectAppZeroPackageListByReservationId"
resultType="com.logpm.distribution.vo.DistributionAddvaluePackageVO">
SELECT
ldrzp.parcel_list_id,
ldrzp.quantity AS reservationNum,
ldrzp.reservation_id AS reservationId,
3 AS conditions,
ldsa.order_code AS orderCode,
ldsa.id AS stockArticleId,
ldpl.id AS packageId
FROM
logpm_distribution_reservation_stockarticle AS ldrs
INNER JOIN logpm_distribution_stock_article AS ldsa ON ldrs.stock_article_id = ldsa.id
LEFT JOIN logpm_distribution_reservation_zero_package AS ldrzp ON ldrs.stock_article_id = ldrzp.stock_article_id
AND ldrs.reservation_id = ldrzp.reservation_id
INNER JOIN logpm_distribution_parcel_list As ldpl ON ldrzp.parcel_list_id = ldpl.id
WHERE ldrs.reservation_id =#{reservationId}
</select>
<!-- <select id="selectAppZeroPackageListByReservationId"-->
<!-- resultType="com.logpm.distribution.vo.DistributionAddvaluePackageVO">-->
<!-- SELECT-->
<!-- ldrzp.parcel_list_id,-->
<!-- ldrzp.quantity AS reservationNum,-->
<!-- ldrzp.reservation_id AS reservationId,-->
<!-- 3 AS conditions,-->
<!-- ldsa.order_code AS orderCode,-->
<!-- ldsa.id AS stockArticleId,-->
<!-- ldpl.id AS packageId-->
<!-- FROM-->
<!-- logpm_distribution_reservation_stockarticle AS ldrs-->
<!-- INNER JOIN logpm_distribution_stock_article AS ldsa ON ldrs.stock_article_id = ldsa.id-->
<!-- LEFT JOIN logpm_distribution_reservation_zero_package AS ldrzp ON ldrs.stock_article_id = ldrzp.stock_article_id-->
<!-- AND ldrs.reservation_id = ldrzp.reservation_id-->
<!-- INNER JOIN logpm_distribution_parcel_list As ldpl ON ldrzp.parcel_list_id = ldpl.id-->
<!-- WHERE ldrs.reservation_id =#{reservationId}-->
<!-- </select>-->
<select id="selectReservationLoadingNum" resultType="com.logpm.distribution.dto.DistributionLoadingNumDTO">
SELECT
IF

2
blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistrilbutionBillLadingMapper.xml

@ -893,7 +893,7 @@
IFNULL(SUM(ldbls.quantity),0) AS actual_plan,
IFNULL(SUM(ldbls.quantity),0) AS delivery,
IFNULL(SUM(ldbls.quantity),0) AS sign,
(SELECT GROUP_CONCAT(site) FROM logpm_distribution_print WHERE bill_lading_id = ldbl.id GROUP BY bill_lading_id) AS image
IFNULL((SELECT GROUP_CONCAT(site) FROM logpm_distribution_print WHERE bill_lading_id = ldbl.id GROUP BY bill_lading_id),'无图片信息') AS image
FROM
logpm_distrilbution_bill_lading AS ldbl
LEFT JOIN logpm_distribution_bill_lading_scan AS ldbls ON ldbls.bill_lading_id = ldbl.id AND ldbls.is_deleted = 0

3
blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/IDistributionAddvalueService.java

@ -20,6 +20,7 @@ import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import com.logpm.distribution.dto.DistributionAddvalueDTO;
import com.logpm.distribution.dto.DistributionAddvaluePackageDTO;
import com.logpm.distribution.dto.app.DistributionAppAddvalueDTO;
import com.logpm.distribution.entity.DistributionAddvalueEntity;
import com.logpm.distribution.entity.DistributionAddvaluePackageEntity;
@ -90,7 +91,7 @@ public interface IDistributionAddvalueService extends IService<DistributionAddva
* @param distributionAppAddvalueDTO
* @return
*/
List<DistributionAddvaluePackageVO> getAllPackageList(DistributionAppAddvalueDTO distributionAppAddvalueDTO);
List<DistributionAddvaluePackageDTO> getAllPackageList(DistributionAppAddvalueDTO distributionAppAddvalueDTO);
/**
* 修改增值服务列表

379
blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionAddvalueServiceImpl.java

@ -122,107 +122,38 @@ public class DistributionAddvalueServiceImpl extends BaseServiceImpl<Distributio
@Override
public R scanAddvaluePackage(DistributionAppAddvalueDTO distributionAppAddvalueDTO) {
Long reservationId = distributionAppAddvalueDTO.getReservationId();
List<DistributionParcelListEntity> parcelListEntityList = distributionReservationMapper.selectPackageListByReservationId(reservationId);
List<DisStockListDetailEntity> detailEntities = distributionReservationMapper.selectInventoryListByReservation(reservationId);
if (Func.isEmpty(parcelListEntityList) && Func.isEmpty(detailEntities)) {
//该客户不存在包件信息
return Resp.scanFail("客户信息有误!!!", "客户信息有误");
}
List<Long> packageListIds = distributionAppAddvalueDTO.getPackageListIds();
Integer isManual = distributionAppAddvalueDTO.getIsManual();
List<DistributionParcelListEntity> collect1 = parcelListEntityList.stream().filter(p -> packageListIds.contains(p.getId())).collect(Collectors.toList());
if (collect1.size() == 1) {
return Resp.scanFail("重复扫描", "重复扫描");
}
List<DisStockListDetailEntity> collect2 = detailEntities.stream().filter(i -> packageListIds.contains(i.getId())).collect(Collectors.toList());
if (collect2.size() == 1) {
return Resp.scanFail("重复扫描", "重复扫描");
}
List<DistributionParcelListEntity> packageInfo = parcelListEntityList.stream().filter(p -> p.getOrderPackageCode().equals(distributionAppAddvalueDTO.getBarcode())).collect(Collectors.toList());
// DistributionAddvaluePackageEntity distributionAddvaluePackageEntiy = new DistributionAddvaluePackageEntity();
if (Func.isNotEmpty(packageInfo) && packageInfo.size() == 1) {
DistributionParcelListEntity parcelListEntity = packageInfo.get(0);
DistributionAddvaluePackageEntity distributionAddvaluePackageEntiy = Func.copy(parcelListEntity, DistributionAddvaluePackageEntity.class);
assert distributionAddvaluePackageEntiy != null;
distributionAddvaluePackageEntiy.setConditions(1);
distributionAddvaluePackageEntiy.setId(null);
distributionAddvaluePackageEntiy.setQuantity(parcelListEntity.getQuantity());
distributionAddvaluePackageEntiy.setPackageId(parcelListEntity.getId());
distributionAddvaluePackageEntiy.setMaterialName(parcelListEntity.getMaterialName());
distributionAddvaluePackageEntiy.setReservationId(distributionAppAddvalueDTO.getReservationId());
distributionAddvaluePackageEntiy.setStockArticleId(parcelListEntity.getStockArticleId());
distributionAddvaluePackageEntiy.setOrderPackageCode(parcelListEntity.getOrderPackageCode());
distributionAddvaluePackageEntiy.setRecordType("1");
if (isManual.equals(2)) {
distributionAddvaluePackageEntiy.setRecordType("1");
}
//查询包件的结算单位
return Res.scanSuccess("扫描成功", "扫描成功", distributionAddvaluePackageEntiy);
} else if (packageInfo.isEmpty()) {
//包件列表不存在,这里查询看库存品是否存在?
List<DisStockListDetailEntity> inventoryInfo = detailEntities.stream().filter(i -> Func.isNotEmpty(i.getStockPackageCode()) && i.getStockPackageCode().equals(distributionAppAddvalueDTO.getBarcode())).collect(Collectors.toList());
if (Func.isNotEmpty(inventoryInfo) && inventoryInfo.size() == 1) {
DisStockListDetailEntity disStockListDetailEntity = inventoryInfo.get(0);
DistributionStockListEntity stockListEntity = distributionStockListService.getById(disStockListDetailEntity.getStockListId());
DistributionAddvaluePackageEntity distributionAddvaluePackageEntiy = Func.copy(disStockListDetailEntity, DistributionAddvaluePackageEntity.class);
assert distributionAddvaluePackageEntiy != null;
distributionAddvaluePackageEntiy.setConditions(2);
distributionAddvaluePackageEntiy.setQuantity(disStockListDetailEntity.getNum());
distributionAddvaluePackageEntiy.setPackageId(disStockListDetailEntity.getId());
distributionAddvaluePackageEntiy.setMaterialName(stockListEntity.getDescriptionGoods());
distributionAddvaluePackageEntiy.setReservationId(distributionAppAddvalueDTO.getReservationId());
distributionAddvaluePackageEntiy.setStockArticleId(disStockListDetailEntity.getStockListId());
distributionAddvaluePackageEntiy.setOrderPackageCode(disStockListDetailEntity.getStockPackageCode());
distributionAddvaluePackageEntiy.setRecordType("1");
if (isManual.equals(2)) {
distributionAddvaluePackageEntiy.setRecordType("1");
}
return Res.scanSuccess("扫描成功", "扫描成功", distributionAddvaluePackageEntiy);
} else if (inventoryInfo.size() == 0) {
//该客户下既不存在该包件,也不存在该库存品 ---
//查询是否属于该配送任务
List<DistributionParcelListEntity> parcelListEntities = distributionDeliveryListMapper.selectPackageListByDeliveryListId(distributionAppAddvalueDTO.getDeliveryId());
if (Func.isNotEmpty(parcelListEntities)) {
List<DistributionParcelListEntity> collect = parcelListEntities.stream().filter(s -> s.getOrderPackageCode().equals(distributionAppAddvalueDTO.getBarcode())).collect(Collectors.toList());
if (Func.isNotEmpty(collect)) {
return Resp.scanFail("扫描失败", "窜货");
}
} else {
//查询是否该配送任务中是否存在该库存品包件信息
List<DisStockListDetailEntity> stockListDetailEntities = distributionDeliveryListMapper.selectInventoryListByDeliveryListId(distributionAppAddvalueDTO.getDeliveryId());
if (Func.isNotEmpty(stockListDetailEntities)) {
List<DisStockListDetailEntity> detailEntityList = stockListDetailEntities.stream().filter(s -> s.getStockPackageCode().equals(distributionAppAddvalueDTO.getBarcode())).collect(Collectors.toList());
if (Func.isNotEmpty(detailEntityList)) {
return Resp.scanFail("扫描失败", "窜货");
}
} else {
return Resp.scanFail("扫描失败", "此码无效");
if (Objects.isNull(distributionAppAddvalueDTO.getReservationId())){
log.error("#####################参数缺失reservationId");
}
List<DistributionAddvaluePackageDTO> allPackageList = this.getAllPackageList(distributionAppAddvalueDTO);
if (allPackageList.isEmpty()) {
log.error("#####################预约计划下无包件信息reservationId:{}",distributionAppAddvalueDTO.getReservationId());
}
} else {
log.error("出现一个客户下重复库存品包件码的情况");
return Resp.scanFail("扫描失败", "窜货");
if (Objects.isNull(distributionAppAddvalueDTO.getBarcode())){
log.error("#####################参数缺失Barcode");
}
List<DistributionAddvaluePackageDTO> scanList = allPackageList.stream().filter(f -> distributionAppAddvalueDTO.getBarcode().equals(f.getOrderPackageCode())).collect(Collectors.toList());
if (!scanList.isEmpty()) {
//存在
if (scanList.size() == 1){
return R.data(scanList.get(0));
}else {
log.error("出现一个客户下重复包件码的情况");
return Resp.scanFail("扫描失败", "窜货");
log.error("增值服务扫描计划内包件错误,同一包件存在多个");
}
return null;
}
//不存在这里就需要进行系统是否存在该包件进行判断
log.error("增值服务扫描计划内包件错误,不存在此包件");
//判断怎么不存在
return Resp.scanFail("计划内无此包件信息","计划内无此包件信息");
}
@Override
@Transactional
public R saveAddvalueInfo(DistributionAppAddvalueDTO distributionAppAddvalueDTO) {
List<DistributionAddvaluePackageDTO> packageEntityList = distributionAppAddvalueDTO.getPackageEntityList();
List<DistributionAddvaluePackageDTO> packageDTOList = packageEntityList.stream().filter(p -> Func.isNotEmpty(p.getQuantity()) && p.getQuantity() > 0).collect(Collectors.toList());
if (Func.isEmpty(packageDTOList)) {
return Resp.scanFail("操作失败", "无可用包件信息");
}
//查询是否重复添加
DistributionAddvalueEntity addvalueEntity = distributionAddvalueMapper.selectOne(Wrappers.<DistributionAddvalueEntity>query().lambda()
.eq(DistributionAddvalueEntity::getAddvalueId, distributionAppAddvalueDTO.getAddvalueType())
@ -257,6 +188,7 @@ public class DistributionAddvalueServiceImpl extends BaseServiceImpl<Distributio
} else {
distributionAddvalueDetailEntity.setDistance(distributionAppAddvalueDTO.getDistance());
}
break;
case "3":
if (Func.isEmpty(distributionAppAddvalueDTO.getDistance())) {
@ -265,24 +197,29 @@ public class DistributionAddvalueServiceImpl extends BaseServiceImpl<Distributio
distributionAddvalueDetailEntity.setDistance(distributionAppAddvalueDTO.getDistance());
}
break;
case "4":
case "5":
if (Func.isEmpty(distributionAppAddvalueDTO.getNum())) {
return Resp.scanFail("添加失败", "请输入件数");
} else {
distributionAddvalueDetailEntity.setNum(packageEntityList.stream().mapToInt(DistributionAddvaluePackageEntity::getQuantity).sum());
}
break;
case "6":
if (Func.isEmpty(distributionAppAddvalueDTO.getFee())) {
return Resp.scanFail("添加失败", "请输入件数");
} else {
distributionAddvalueDetailEntity.setFee(distributionAppAddvalueDTO.getFee());
}
break;
// case "4":
// case "5":
// if (Func.isEmpty(distributionAppAddvalueDTO.getNum())) {
// return Resp.scanFail("添加失败", "请输入件数");
// } else {
// distributionAddvalueDetailEntity.setNum(packageEntityList.stream().mapToInt(DistributionAddvaluePackageEntity::getQuantity).sum());
// }
// break;
// case "6":
// if (Func.isEmpty(distributionAppAddvalueDTO.getFee())) {
// return Resp.scanFail("添加失败", "请输入件数");
// } else {
// distributionAddvalueDetailEntity.setFee(distributionAppAddvalueDTO.getFee());
// }
// break;
default:
return Resp.scanFail("添加失败", "服务器正忙");
}
List<DistributionAddvaluePackageDTO> packageEntityList = distributionAppAddvalueDTO.getPackageEntityList();
List<DistributionAddvaluePackageDTO> packageDTOList = packageEntityList.stream().filter(p -> Func.isNotEmpty(p.getQuantity()) && p.getQuantity() > 0).collect(Collectors.toList());
if (Func.isEmpty(packageDTOList)) {
return Resp.scanFail("操作失败", "无可用包件信息");
}
DistributionAddvalueEntity distributionAddvalueEntity = new DistributionAddvalueEntity();
distributionAddvalueEntity.setAddvalueId(distributionAppAddvalueDTO.getAddvalueType());
distributionAddvalueEntity.setCode(reservationEntity.getReservationCode());
@ -299,96 +236,29 @@ public class DistributionAddvalueServiceImpl extends BaseServiceImpl<Distributio
distributionAddvalueDetailService.save(distributionAddvalueDetailEntity);
List<DistributionAddvaluePackageEntity> addvaluePackageEntities = new ArrayList<>();
BigDecimal totalFee = new BigDecimal(BigInteger.ZERO);
packageEntityList.stream().forEach(p -> {
AtomicReference<Integer> totalNum = new AtomicReference<>(new Integer(0));
packageEntityList.forEach(p -> {
if (Func.isEmpty(p.getUnitPrice())){
p.setUnitPrice(BigDecimal.ZERO);
}
p.setAddvalueDetailId(distributionAddvalueDetailEntity.getId());
p.setQuantity(p.getZeroQuantity());
p.setScanUserName(AuthUtil.getNickName());
DistributionAddvaluePackageEntity addvaluePackageEntity = Func.copy(p, DistributionAddvaluePackageEntity.class);
//构建增值服务包件的收入
BigDecimal unitPrice = new BigDecimal(BigInteger.ZERO);
//查询此包件匹配的计划模板
//获取结算单价
List<PriceDispatchAddClientVO> priceDispatchAddClientVOS = basicdataPriceClient.dispatchAddPrice(BasicdatPriceApiVO.builder().clientId(p.getClientId().toString()).brandId(p.getBrandId().toString()).build());
if (Func.isEmpty(priceDispatchAddClientVOS)) {
//此客户品牌下无单价信息
unitPrice = new BigDecimal(BigInteger.ZERO);
}
switch (p.getConditions()) {
case 1:
//查询订制品结算品类
BasicdataFactoryCategoryEntity entity1 = new BasicdataFactoryCategoryEntity();
entity1.setFirsts(p.getFirsts());
entity1.setSeconds(p.getSecond());
entity1.setThirds(p.getThirdProduct());
entity1.setMaterielName(p.getMaterialName());
entity1.setBrandId(p.getBrandId());
BasicdataFactoryCategoryEntity factoryCategoryEntity1 = basicdataFactoryCategoryClient.findEntityByThreeCategory(entity1);
if (Func.isEmpty(factoryCategoryEntity1)){
unitPrice = new BigDecimal(BigInteger.ZERO);
}
if (!Func.isEmpty(priceDispatchAddClientVOS)&&Func.isNotEmpty(factoryCategoryEntity1)){
//获取单价
unitPrice = getUnitPrice(priceDispatchAddClientVOS,factoryCategoryEntity1,distributionAppAddvalueDTO);
}
//判定该包件是否属于该客户
List<DistributionParcelListEntity> parcelListEntityList = distributionReservationMapper.selectPackageListByReservationId(distributionAppAddvalueDTO.getReservationId());
// boolean packageFlag = parcelListEntities.stream().allMatch(pack -> !Func.equals(pack.getId(), p.getPackageId()));
boolean packageFlag = parcelListEntityList.stream().map(DistributionParcelListEntity::getId).collect(Collectors.toList()).contains(p.getPackageId());
if (!packageFlag) {
throw new RuntimeException("不属于该客户包件");
}
break;
case 2:
BasicdataFactoryCategoryEntity entity2 = new BasicdataFactoryCategoryEntity();
entity2.setMaterielName(p.getMaterialName());
BasicdataFactoryCategoryEntity factoryCategoryEntity2 = basicdataFactoryCategoryClient.findEntityByMaterielName(entity2);
if (Func.isEmpty(factoryCategoryEntity2)){
unitPrice = new BigDecimal(BigInteger.ZERO);
}
if (!Func.isEmpty(priceDispatchAddClientVOS)&&Func.isNotEmpty(factoryCategoryEntity2)){
//获取单价
unitPrice = getUnitPrice(priceDispatchAddClientVOS,factoryCategoryEntity2,distributionAppAddvalueDTO);
}
List<DisStockListDetailEntity> detailEntities = distributionReservationMapper.selectInventoryListByReservation(distributionAppAddvalueDTO.getReservationId());
// boolean inventoryPackageFlag = detailEntities.stream().allMatch(pack -> !Func.equals(pack.getId(), p.getPackageId()));
boolean inventoryPackageFlag = detailEntities.stream().map(DisStockListDetailEntity::getId).collect(Collectors.toList()).contains(p.getPackageId());
if (!inventoryPackageFlag) {
throw new RuntimeException("不属于该客户包件");
}
break;
case 3:
BasicdataFactoryCategoryEntity entity3 = new BasicdataFactoryCategoryEntity();
entity3.setMaterielName(p.getMaterialName());
BasicdataFactoryCategoryEntity factoryCategoryEntity3 = basicdataFactoryCategoryClient.findEntityByCategoryName(entity3);
if (Func.isEmpty(factoryCategoryEntity3)){
unitPrice = new BigDecimal(BigInteger.ZERO);
}
if (!Func.isEmpty(priceDispatchAddClientVOS)&&Func.isNotEmpty(factoryCategoryEntity3)){
//获取单价
unitPrice = getUnitPrice(priceDispatchAddClientVOS,factoryCategoryEntity3,distributionAppAddvalueDTO);
}
List<DistributionParcelNumberDTO> distributionParcelNumberDTOS = distributionReservationMapper.selectZeroPackageListByReservationId(distributionAppAddvalueDTO.getReservationId());
// boolean zeroPackageFlag = distributionParcelNumberDTOS.stream().allMatch(pack -> !Func.equals(pack.getId(), p.getPackageId()));
boolean zeroPackageFlag = distributionParcelNumberDTOS.stream().map(DistributionParcelNumberDTO::getId).collect(Collectors.toList()).contains(p.getPackageId());
if (!zeroPackageFlag) {
throw new RuntimeException("不属于该客户包件");
}
break;
}
addvaluePackageEntity.setScanUserName(AuthUtil.getNickName());
addvaluePackageEntity.setUnitPrice(unitPrice);
addvaluePackageEntity.setUnitPrice(p.getUnitPrice());
addvaluePackageEntity.setRecordType("1");
//计算收入
addvaluePackageEntity.setFee(unitPrice.multiply(BigDecimal.valueOf(p.getQuantity())));
addvaluePackageEntity.setFee(p.getUnitPrice().multiply(BigDecimal.valueOf(p.getQuantity())));
addvaluePackageEntities.add(addvaluePackageEntity);
totalFee.add(addvaluePackageEntity.getFee());
totalNum.updateAndGet(v -> v + p.getQuantity());
});
distributionAddvaluePackageService.saveBatch(addvaluePackageEntities);
//最后进行该增值服务项的费用统计
distributionAddvalueDetailService.update(Wrappers.<DistributionAddvalueDetailEntity>update().lambda()
.eq(DistributionAddvalueDetailEntity::getId, distributionAddvalueDetailEntity.getId())
.set(DistributionAddvalueDetailEntity::getFee, totalFee)
.set(DistributionAddvalueDetailEntity::getNum, totalNum.get())
);
return Resp.scanSuccess("添加成功", "添加成功");
}
@ -683,45 +553,128 @@ public class DistributionAddvalueServiceImpl extends BaseServiceImpl<Distributio
}
@Override
public List<DistributionAddvaluePackageVO> getAllPackageList(DistributionAppAddvalueDTO distributionAppAddvalueDTO) {
public List<DistributionAddvaluePackageDTO> getAllPackageList(DistributionAppAddvalueDTO distributionAppAddvalueDTO) {
// List<DistributionAddvaluePackageEntity> packageEntityList = distributionAppAddvalueDTO.getPackageEntityList();
List<Long> packageListIds = distributionAppAddvalueDTO.getPackageListIds();
// List<Long> packageListIds = distributionAppAddvalueDTO.getPackageListIds();
// Long reservationId = distributionAppAddvalueDTO.getReservationId();
//// List<DistributionAddvaluePackageVO> parcelListEntities = distributionReservationMapper.selectAppPackageListByReservationId(reservationId);
//// List<DistributionAddvaluePackageVO> zeroPackageList = distributionReservationMapper.selectAppZeroPackageListByReservationId(reservationId);
//// List<DistributionAddvaluePackageVO> detailEntities = distributionReservationMapper.selectAppInventoryListByReservation(reservationId);
// if (Func.isNotEmpty(zeroPackageList)) {
// zeroPackageList.forEach(zp -> {
// //查询最大输入数量
// DistributionLoadscanEntity loadscanEntities = distributionLoadscanService.getOne(Wrappers.<DistributionLoadscanEntity>query().lambda().eq(DistributionLoadscanEntity::getReservationId, distributionAppAddvalueDTO.getReservationId()).eq(DistributionLoadscanEntity::getPackageId, zp.getPackageId()).ne(DistributionLoadscanEntity::getScanStatus, LoadingStatusConstant.quxiao.getValue()));
// zp.setMaxQuantity(0);
// if (Func.isNotEmpty(loadscanEntities)) {
// zp.setMaxQuantity(loadscanEntities.getReceivedQuantity());
// }
// });
// }
// parcelListEntities.addAll(detailEntities);
// parcelListEntities.addAll(zeroPackageList);
// if (Func.isEmpty(parcelListEntities)) {
// log.error("################该客户下包件信息:{}", parcelListEntities);
// log.error("################该客户下库存品包件信息:{}", detailEntities);
//// return R.fail("服务器正忙....");
// }
// if (Func.isNotEmpty(parcelListEntities)) {
// parcelListEntities.stream().forEach(p -> {
// p.setRecordType("1");
// //进行客户信息完善
//
//
//
// });
// }
// if (Func.isNotEmpty(zeroPackageList)) {
// zeroPackageList.stream().forEach(p -> {
// p.setRecordType("1");
// });
// }
String method = "#####################################DistributionAddvalueServiceImpl.getAllPackageList";
Long reservationId = distributionAppAddvalueDTO.getReservationId();
List<DistributionAddvaluePackageVO> parcelListEntities = distributionReservationMapper.selectAppPackageListByReservationId(reservationId);
List<DistributionAddvaluePackageVO> zeroPackageList = distributionReservationMapper.selectAppZeroPackageListByReservationId(reservationId);
List<DistributionAddvaluePackageVO> detailEntities = distributionReservationMapper.selectAppInventoryListByReservation(reservationId);
if (Func.isNotEmpty(zeroPackageList)) {
zeroPackageList.forEach(zp -> {
//查询最大输入数量
DistributionLoadscanEntity loadscanEntities = distributionLoadscanService.getOne(Wrappers.<DistributionLoadscanEntity>query().lambda().eq(DistributionLoadscanEntity::getReservationId, distributionAppAddvalueDTO.getReservationId()).eq(DistributionLoadscanEntity::getPackageId, zp.getPackageId()).ne(DistributionLoadscanEntity::getScanStatus, LoadingStatusConstant.quxiao.getValue()));
zp.setMaxQuantity(0);
if (Func.isNotEmpty(loadscanEntities)) {
zp.setMaxQuantity(loadscanEntities.getReceivedQuantity());
if (Objects.isNull(distributionAppAddvalueDTO.getReservationId())) {
log.error(method + "参数缺失ReservationId");
return null;
}
});
List<DistributionAddvaluePackageDTO> superZoneList = distributionSignforService.checkAddValuePCPackageList(reservationId);
if (!superZoneList.isEmpty()) {
//进行单价获取
AtomicReference<BigDecimal> unitPrice = new AtomicReference<>(BigDecimal.ZERO);
superZoneList.forEach(s -> {
Integer conditions = s.getConditions();
//获取结算单价
List<PriceDispatchAddClientVO> priceDispatchAddClientVOS = basicdataPriceClient.dispatchAddPrice(BasicdatPriceApiVO.builder().clientId(s.getClientId().toString()).brandId(s.getBrandId().toString()).build());
if (Func.isEmpty(priceDispatchAddClientVOS)) {
//此客户品牌下无单价信息
unitPrice.set(BigDecimal.ZERO);
}
parcelListEntities.addAll(detailEntities);
parcelListEntities.addAll(zeroPackageList);
if (Func.isEmpty(parcelListEntities)) {
log.error("################该客户下包件信息:{}", parcelListEntities);
log.error("################该客户下库存品包件信息:{}", detailEntities);
// return R.fail("服务器正忙....");
}
if (Func.isNotEmpty(parcelListEntities)) {
parcelListEntities.stream().forEach(p -> {
p.setRecordType("1");
//进行客户信息完善
});
switch (conditions) {
case 1:
//查询订制品结算品类
BasicdataFactoryCategoryEntity entity1 = new BasicdataFactoryCategoryEntity();
entity1.setFirsts(s.getFirsts());
entity1.setSeconds(s.getSecond());
entity1.setThirds(s.getThirdProduct());
entity1.setMaterielName(s.getMaterialName());
entity1.setBrandId(s.getBrandId());
BasicdataFactoryCategoryEntity factoryCategoryEntity1 = basicdataFactoryCategoryClient.findEntityByThreeCategory(entity1);
if (Func.isEmpty(factoryCategoryEntity1)) {
unitPrice.set(BigDecimal.ZERO);
}
if (!Func.isEmpty(priceDispatchAddClientVOS) && Func.isNotEmpty(factoryCategoryEntity1)) {
//获取单价
unitPrice.set(getUnitPrice(priceDispatchAddClientVOS, factoryCategoryEntity1, distributionAppAddvalueDTO));
}
//判定该包件是否属于该客户
List<DistributionParcelListEntity> parcelListEntities = distributionReservationMapper.selectPackageListByReservationId(distributionAppAddvalueDTO.getReservationId());
// boolean packageFlag = parcelListEntities.stream().allMatch(pack -> !Func.equals(pack.getId(), p.getPackageId()));
boolean packageFlag = parcelListEntities.stream().map(DistributionParcelListEntity::getId).collect(Collectors.toList()).contains(s.getPackageId());
if (!packageFlag) {
throw new RuntimeException("不属于该客户包件");
}
break;
case 2:
BasicdataFactoryCategoryEntity entity2 = new BasicdataFactoryCategoryEntity();
entity2.setMaterielName(s.getMaterialName());
BasicdataFactoryCategoryEntity factoryCategoryEntity2 = basicdataFactoryCategoryClient.findEntityByMaterielName(entity2);
if (Func.isEmpty(factoryCategoryEntity2)) {
unitPrice.set(BigDecimal.ZERO);
}
if (!Func.isEmpty(priceDispatchAddClientVOS) && Func.isNotEmpty(factoryCategoryEntity2)) {
//获取单价
unitPrice.set(getUnitPrice(priceDispatchAddClientVOS, factoryCategoryEntity2, distributionAppAddvalueDTO));
}
List<DisStockListDetailEntity> detailEntities = distributionReservationMapper.selectInventoryListByReservation(distributionAppAddvalueDTO.getReservationId());
// boolean inventoryPackageFlag = detailEntities.stream().allMatch(pack -> !Func.equals(pack.getId(), p.getPackageId()));
boolean inventoryPackageFlag = detailEntities.stream().map(DisStockListDetailEntity::getId).collect(Collectors.toList()).contains(s.getPackageId());
if (!inventoryPackageFlag) {
throw new RuntimeException("不属于该客户包件");
}
break;
case 3:
BasicdataFactoryCategoryEntity entity3 = new BasicdataFactoryCategoryEntity();
entity3.setMaterielName(s.getMaterialName());
BasicdataFactoryCategoryEntity factoryCategoryEntity3 = basicdataFactoryCategoryClient.findEntityByCategoryName(entity3);
if (Func.isEmpty(factoryCategoryEntity3)) {
unitPrice.set(BigDecimal.ZERO);
}
if (!Func.isEmpty(priceDispatchAddClientVOS) && Func.isNotEmpty(factoryCategoryEntity3)) {
//获取单价
unitPrice.set(getUnitPrice(priceDispatchAddClientVOS, factoryCategoryEntity3, distributionAppAddvalueDTO));
}
List<DistributionParcelNumberDTO> distributionParcelNumberDTOS = distributionReservationMapper.selectZeroPackageListByReservationId(distributionAppAddvalueDTO.getReservationId());
// boolean zeroPackageFlag = distributionParcelNumberDTOS.stream().allMatch(pack -> !Func.equals(pack.getId(), p.getPackageId()));
boolean zeroPackageFlag = distributionParcelNumberDTOS.stream().map(DistributionParcelNumberDTO::getId).collect(Collectors.toList()).contains(s.getPackageId());
if (!zeroPackageFlag) {
throw new RuntimeException("不属于该客户包件");
}
break;
}
if (Func.isNotEmpty(zeroPackageList)) {
zeroPackageList.stream().forEach(p -> {
p.setRecordType("1");
s.setUnitPrice(unitPrice.get());
});
}
return parcelListEntities;
return superZoneList;
}
@Override

9
blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionDeliveryListServiceImpl.java

@ -674,16 +674,25 @@ public class DistributionDeliveryListServiceImpl extends BaseServiceImpl<Distrib
List<DistributionLoadscanAbnormalEntity> abnormalEntities = distributionLoadscanAbnormalService.list(Wrappers.<DistributionLoadscanAbnormalEntity>query().lambda()
.eq(DistributionLoadscanAbnormalEntity::getPackageCode, distrilbutionloadingscanDTO.getBarcode())
.eq(DistributionLoadscanAbnormalEntity::getPackageId, parcelList.getId())
.notIn(DistributionLoadscanAbnormalEntity::getAuditingStatus, LoadingAbnormalAuditingStatusConstant.daishenhe.getValue())
);
if (!abnormalEntities.isEmpty()) {
//判断异常是否属于自身
boolean flag = abnormalEntities.stream().allMatch(a -> !distributionDeliveryListEntity.getId().equals(a.getDeliveryListId()) || !distrilbutionloadingscanDTO.getReservationId().equals(a.getReservationId()));
if (flag) {
//校验是否还存在装车 如若存在则是无效装车,如若不存在则有效
List<DistributionLoadscanEntity> loadscanEntityList = distributionLoadscanService.list(Wrappers.<DistributionLoadscanEntity>query().lambda()
.eq(DistributionLoadscanEntity::getOrderPackageCode, distrilbutionloadingscanDTO.getBarcode())
.eq(DistributionLoadscanEntity::getWarehouseId, myCurrentWarehouse.getId())
.ne(DistributionLoadscanEntity::getScanStatus, LoadingStatusConstant.quxiao.getValue())
);
if (!Func.isEmpty(loadscanEntityList)) {
//该异常属于其他车次
String collect = abnormalEntities.stream().map(DistributionLoadscanAbnormalEntity::getTrainNumber).collect(Collectors.joining(","));
log.info("包件已在其他车次存在异常 >>>>当前车次:{},其他车次:{}", distributionDeliveryListEntity.getTrainNumber(), collect);
return Resp.scanFail("包件已在其他车次存在异常", "包件已在其他车次存在异常");
}
} else {
//这里需要判定文员是否对该异常进行驳回操作
List<DistributionLoadscanAbnormalEntity> collect = abnormalEntities.stream().filter(f -> distributionDeliveryListEntity.getId().equals(f.getDeliveryListId()) && distrilbutionloadingscanDTO.getReservationId().equals(f.getReservationId())).collect(Collectors.toList());

18
blade-service/logpm-factory-data/logpm-factory-data-mengtian/src/main/java/com/logpm/factorydata/mengtian/controller/OrderController.java

@ -4,24 +4,24 @@ import cn.hutool.json.JSONUtil;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
import com.logpm.factorydata.mengtian.entity.FactoryNodePushEntity;
import com.logpm.factorydata.mengtian.query.FactoryNodePushQuery;
import com.logpm.factorydata.mengtian.service.FactoryNodePushService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springblade.common.constant.factorydata.FactoryDataConstants;
import org.springblade.core.mp.support.Query;
import org.springblade.core.tool.api.R;
import org.springframework.amqp.rabbit.core.RabbitTemplate;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PatchMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;
import java.util.Map;
/**
@ -54,24 +54,24 @@ public class OrderController {
@GetMapping
@ApiOperationSupport(order = 2)
@ApiOperation(value = "推送记录", notes = "推送记录")
public R<IPage<FactoryNodePushEntity>> pageNodePush(FactoryNodePushEntity vo, Query query) {
public R<IPage<FactoryNodePushEntity>> pageNodePush(FactoryNodePushEntity vo, FactoryNodePushQuery query) {
IPage<FactoryNodePushEntity> pages = nodePushService.pageNodePush(vo, query);
return R.data(pages);
}
@PostMapping("rePush/{id}")
@PostMapping("rePush")
@ApiOperationSupport(order = 2)
@ApiOperation(value = "重新推送", notes = "重新推送")
public R<Boolean> rePush(@PathVariable("id") String id) {
Boolean flag = nodePushService.rePush(id);
public R<Boolean> rePush(@RequestBody List<String> ids) {
Boolean flag = nodePushService.rePush(ids);
return R.data(flag);
}
@PatchMapping("cancel/{id}")
@PatchMapping("cancel")
@ApiOperationSupport(order = 2)
@ApiOperation(value = "取消", notes = "取消")
public R<Boolean> cancel(@PathVariable("id") String id) {
Boolean flag = nodePushService.cancel(id);
public R<Boolean> cancel(@RequestBody List<String> ids) {
Boolean flag = nodePushService.cancel(ids);
return R.data(flag);
}

35
blade-service/logpm-factory-data/logpm-factory-data-mengtian/src/main/java/com/logpm/factorydata/mengtian/entity/FactoryNodePushEntity.java

@ -28,77 +28,82 @@ public class FactoryNodePushEntity extends BaseEntity {
/**
* 预留1
*/
@ApiModelProperty(name = "预留1", notes = "")
@ApiModelProperty(value = "预留1")
private String reserve1;
/**
* 预留2
*/
@ApiModelProperty(name = "预留2", notes = "")
@ApiModelProperty(value = "预留2")
private String reserve2;
/**
* 预留3
*/
@ApiModelProperty(name = "预留3", notes = "")
@ApiModelProperty(value = "预留3")
private String reserve3;
/**
* 预留4
*/
@ApiModelProperty(name = "预留4", notes = "")
@ApiModelProperty(value = "预留4")
private String reserve4;
/**
* 预留5
*/
@ApiModelProperty(name = "预留5", notes = "")
@ApiModelProperty(value = "预留5")
private String reserve5;
/**
* 发货单编号
*/
@ApiModelProperty(name = "发货单编号", notes = "")
@ApiModelProperty(value = "发货单编号")
private String senderCode;
/**
* 作业仓库
*/
@ApiModelProperty(value = "作业仓库")
private String warehouse;
/**
* 订单号
*/
@ApiModelProperty(name = "订单号", notes = "")
@ApiModelProperty(value = "订单号")
private String orderCode;
/**
* 包条码
*/
@ApiModelProperty(name = "包条码", notes = "")
@ApiModelProperty(value = "包条码")
private String packageCode;
/**
* 类型
*/
@ApiModelProperty(name = "类型(收货,确认收货,签收,确认签收)", notes = "")
@ApiModelProperty(value = "类型(收货,确认收货,签收,确认签收)")
private String type;
/**
* 送货任务ID
*/
@ApiModelProperty(name = "送货任务ID", notes = "")
@ApiModelProperty(value = "送货任务ID")
private String sendTaskId;
/**
* 发送状态
*/
@ApiModelProperty(name = "发送状态(0:成功,-1:失败,1:取消)", notes = "")
@ApiModelProperty(value = "发送状态(0:成功,-1:失败,1:取消)")
private String sendStatus;
/**
* 操作码
*/
@ApiModelProperty(name = "操作码", notes = "")
@ApiModelProperty(value = "操作码")
private String operationCode;
/**
* url
*/
@ApiModelProperty(name = "url", notes = "")
@ApiModelProperty(value = "url")
private String sendUrl;
/**
* 内容
*/
@ApiModelProperty(name = "内容", notes = "")
@ApiModelProperty(value = "内容")
private String content;
/**
* 返回值
*/
@ApiModelProperty(name = "返回值", notes = "")
@ApiModelProperty(value = "返回值")
private String resultContent;
}

2
blade-service/logpm-factory-data/logpm-factory-data-mengtian/src/main/java/com/logpm/factorydata/mengtian/mapper/FactoryNodePushMapper.java

@ -20,5 +20,5 @@ public interface FactoryNodePushMapper extends BaseMapper<FactoryNodePushEntity>
List<FactoryNodePushEntity> pageNodePush(IPage<FactoryNodePushEntity> page, @Param("ew") Wrapper queryWrapper);
Boolean cancel(@Param("id") String id);
Boolean cancel(@Param("ids") List<String> ids);
}

13
blade-service/logpm-factory-data/logpm-factory-data-mengtian/src/main/java/com/logpm/factorydata/mengtian/mapper/FactoryNodePushMapper.xml

@ -3,10 +3,19 @@
<mapper namespace="com.logpm.factorydata.mengtian.mapper.FactoryNodePushMapper">
<select id="pageNodePush" resultType="com.logpm.factorydata.mengtian.entity.FactoryNodePushEntity">
select * from mt_factory_node_push #{ew.customSqlSegment}
select * from mt_factory_node_push
<where>
<if test="ew.sqlSegment != null and ew.sqlSegment != ''">
${ew.sqlSegment}
</if>
</where>
order by create_time desc
</select>
<update id="cancel">
update mt_factory_node_push set send_status = 1 where id = #{id}
update mt_factory_node_push set send_status = 1 where id in
<foreach collection="ids" item="id" separator="," open="(" close=")">
#{id}
</foreach>
</update>
</mapper>

6
blade-service/logpm-factory-data/logpm-factory-data-mengtian/src/main/java/com/logpm/factorydata/mengtian/mq/NodeDataPushListener.java

@ -132,6 +132,7 @@ public class NodeDataPushListener {
throw new RuntimeException(e);
}
FactoryNodePushEntity entity = FactoryNodePushEntity.builder()
.warehouse(warehouse)
.senderCode(centralStkInVO.getSenderCode())
.orderCode(centralStkInVO.getOrderCode())
.packageCode(centralStkInVO.getPackageCode())
@ -160,6 +161,7 @@ public class NodeDataPushListener {
mtPushDataDTOS1.stream().map(mtPushDataDTO -> {
return CentralStkInConfirmOrderVO.builder()
.orderCode(mtPushDataDTO.getOrderCode())
.outWarehouseType(mtPushDataDTO.getOutWarehouseType())
.packageVOS(
content.stream()
.filter(pushData -> StrUtil.equals(pushData.getOrderCode(), mtPushDataDTO.getOrderCode()))
@ -189,6 +191,7 @@ public class NodeDataPushListener {
return pushData.getPackageCode();
}).collect(Collectors.toSet()), ",");
FactoryNodePushEntity entity = FactoryNodePushEntity.builder()
.warehouse(warehouse)
.senderCode(senderCode)
.orderCode(orderCodes)
.packageCode(packageCodes)
@ -238,6 +241,7 @@ public class NodeDataPushListener {
return pushData.getSenderCode();
}).collect(Collectors.toSet()), ",");
FactoryNodePushEntity entity = FactoryNodePushEntity.builder()
.warehouse(warehouse)
.senderCode(signForVO.getSenderCode())
.orderCode(signForVO.getOrderCode())
.packageCode(signForVO.getPackageCode())
@ -268,6 +272,7 @@ public class NodeDataPushListener {
pushData -> {
return SignForConfirmPackageVO.builder()
.orderCode(pushData.getOrderCode())
.outWarehouseType(mtPushDataDTOMap.get(pushData.getOrderCode()).getOutWarehouseType())
.packageCode(pushData.getPackageCode())
.operatingTime(operatorTime)
.warehouseCode(mtPushDataDTOMap.get(pushData.getOrderCode()).getWarehouseCode())
@ -295,6 +300,7 @@ public class NodeDataPushListener {
return pushData.getSenderCode();
}).collect(Collectors.toSet()), ",");
FactoryNodePushEntity entity = FactoryNodePushEntity.builder()
.warehouse(warehouse)
.senderCode(senderCodes)
.orderCode(orderCodes)
.packageCode(packageCodes)

32
blade-service/logpm-factory-data/logpm-factory-data-mengtian/src/main/java/com/logpm/factorydata/mengtian/query/FactoryNodePushQuery.java

@ -0,0 +1,32 @@
package com.logpm.factorydata.mengtian.query;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.springblade.core.mp.support.Query;
import java.util.Date;
/**
* 节点数据推送成功数据查询对象 query
*
* @author zhaoqiaobo
* @create 2024-03-13 14:21
*/
@ApiModel(value = "节点数据推送成功数据查询对象", description = "节点数据推送成功数据查询对象")
@Data
public class FactoryNodePushQuery extends Query {
@ApiModelProperty(value = "创建时间开始(范围)", position = 1)
private Date startCreateTime;
@ApiModelProperty(value = "创建时间结束(范围)", position = 2)
private Date endCreateTime;
@ApiModelProperty(value = "修改时间开始(范围)", position = 3)
private Date startUpdateTime;
@ApiModelProperty(value = "修改时间结束(范围)", position = 4)
private Date endUpdateTime;
}

10
blade-service/logpm-factory-data/logpm-factory-data-mengtian/src/main/java/com/logpm/factorydata/mengtian/service/FactoryNodePushService.java

@ -2,8 +2,10 @@ package com.logpm.factorydata.mengtian.service;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.logpm.factorydata.mengtian.entity.FactoryNodePushEntity;
import com.logpm.factorydata.mengtian.query.FactoryNodePushQuery;
import org.springblade.core.mp.base.BaseService;
import org.springblade.core.mp.support.Query;
import java.util.List;
/**
* 推送工厂节点数据 服务类
@ -13,9 +15,9 @@ import org.springblade.core.mp.support.Query;
**/
public interface FactoryNodePushService extends BaseService<FactoryNodePushEntity> {
IPage<FactoryNodePushEntity> pageNodePush(FactoryNodePushEntity vo, Query query);
IPage<FactoryNodePushEntity> pageNodePush(FactoryNodePushEntity vo, FactoryNodePushQuery query);
Boolean cancel(String id);
Boolean cancel(List<String> id);
Boolean rePush(String id);
Boolean rePush(List<String> id);
}

46
blade-service/logpm-factory-data/logpm-factory-data-mengtian/src/main/java/com/logpm/factorydata/mengtian/service/impl/FactoryNodePushServiceImpl.java

@ -1,7 +1,9 @@
package com.logpm.factorydata.mengtian.service.impl;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.convert.Convert;
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.StrUtil;
import cn.hutool.http.HttpRequest;
import cn.hutool.http.HttpResponse;
import cn.hutool.http.HttpUtil;
@ -11,13 +13,14 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.logpm.factorydata.mengtian.entity.FactoryNodePushEntity;
import com.logpm.factorydata.mengtian.mapper.FactoryNodePushMapper;
import com.logpm.factorydata.mengtian.query.FactoryNodePushQuery;
import com.logpm.factorydata.mengtian.service.FactoryNodePushService;
import com.logpm.factorydata.mengtian.util.QueryUtil;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
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.mp.support.Query;
import org.springframework.stereotype.Service;
import java.util.List;
@ -34,21 +37,47 @@ import java.util.List;
public class FactoryNodePushServiceImpl extends BaseServiceImpl<FactoryNodePushMapper, FactoryNodePushEntity> implements FactoryNodePushService {
@Override
public IPage<FactoryNodePushEntity> pageNodePush(FactoryNodePushEntity vo, Query query) {
public IPage<FactoryNodePushEntity> pageNodePush(FactoryNodePushEntity vo, FactoryNodePushQuery query) {
IPage<FactoryNodePushEntity> page = Condition.getPage(query);
QueryWrapper<FactoryNodePushEntity> queryWrapper = QueryUtil.buildQueryWrapper(vo, FactoryNodePushEntity.class);
if(StrUtil.isNotEmpty(vo.getType())){
queryWrapper.eq("type", vo.getType());
}
if(StrUtil.isNotEmpty(vo.getSendStatus())){
queryWrapper.eq("send_status", vo.getSendStatus());
}
customQuery(query, queryWrapper);
List<FactoryNodePushEntity> deliveryTrainPage = baseMapper.pageNodePush(page, queryWrapper);
return null;
return page.setRecords(deliveryTrainPage);
}
private void customQuery(FactoryNodePushQuery query, QueryWrapper<FactoryNodePushEntity> queryWrapper) {
// 配送时间开始
QueryUtil.timeGe("create_time", query.getStartCreateTime(), queryWrapper);
// 配送时间结束
QueryUtil.timeLe("create_time", query.getEndCreateTime(), queryWrapper);
// 配送时间开始
QueryUtil.timeGe("update_time", query.getStartUpdateTime(), queryWrapper);
// 配送时间结束
QueryUtil.timeLe("update_time", query.getEndUpdateTime(), queryWrapper);
}
@Override
public Boolean cancel(String id) {
return baseMapper.cancel(id);
public Boolean cancel(List<String> ids) {
if(CollUtil.isEmpty(ids)){
throw new ServiceException("参数为空");
}
return baseMapper.cancel(ids);
}
@Override
public Boolean rePush(String id) {
FactoryNodePushEntity factoryNodePushEntity = baseMapper.selectById(id);
public Boolean rePush(List<String> ids) {
if(CollUtil.isEmpty(ids)){
throw new ServiceException("参数为空");
}
List<FactoryNodePushEntity> factoryNodePushEntities = baseMapper.selectBatchIds(ids);
if(CollUtil.isNotEmpty(factoryNodePushEntities)){
for (FactoryNodePushEntity factoryNodePushEntity : factoryNodePushEntities) {
if(ObjectUtil.isNotEmpty(factoryNodePushEntity)){
log.info("重新推送工厂:{}", JSONUtil.toJsonStr(factoryNodePushEntity));
HttpRequest post = HttpUtil.createPost(factoryNodePushEntity.getSendUrl());
@ -65,6 +94,9 @@ public class FactoryNodePushServiceImpl extends BaseServiceImpl<FactoryNodePushM
baseMapper.updateById(factoryNodePushEntity);
return Boolean.TRUE;
}
}
}
return Boolean.FALSE;
}
}

28
blade-service/logpm-factory-data/logpm-factory-data-mengtian/src/main/java/com/logpm/factorydata/mengtian/util/QueryUtil.java

@ -1,9 +1,11 @@
package com.logpm.factorydata.mengtian.util;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.util.ObjectUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import org.springblade.core.mp.support.Condition;
import java.util.Date;
import java.util.Map;
/**
@ -26,4 +28,30 @@ public class QueryUtil {
return Condition.getQueryWrapper(stringObjectMap, classz);
}
/**
* QueryWrapper 查询大于指定时间范围
*
* @param field 字段名
* @param value 时间值
* @param wrapper mybatisplus查询对象
*/
public static void timeGe(String field, Date value, QueryWrapper wrapper) {
if (ObjectUtil.isNotEmpty(value)) {
wrapper.ge(field, value);
}
}
/**
* QueryWrapper 查询小于指定时间范围
*
* @param field 字段名
* @param value 时间值
* @param wrapper mybatisplus查询对象
*/
public static void timeLe(String field, Date value, QueryWrapper wrapper) {
if (ObjectUtil.isNotEmpty(value)) {
wrapper.le(field, value);
}
}
}

4
blade-service/logpm-factory-data/logpm-factory-data-mengtian/src/main/java/com/logpm/factorydata/mengtian/vo/CentralStkInConfirmOrderVO.java

@ -24,6 +24,10 @@ public class CentralStkInConfirmOrderVO implements Serializable {
@JsonProperty("订单号")
private String orderCode;
@ApiModelProperty("工厂出库方式")
@JsonProperty("工厂出库方式")
private String outWarehouseType;
@ApiModelProperty("包件列表")
@JsonProperty("包件列表")
private List<CentralStkInConfirmPackageVO> packageVOS;

4
blade-service/logpm-factory-data/logpm-factory-data-mengtian/src/main/java/com/logpm/factorydata/mengtian/vo/SignForConfirmPackageVO.java

@ -27,6 +27,10 @@ public class SignForConfirmPackageVO implements Serializable {
@JsonProperty("订单编号")
private String orderCode;
@ApiModelProperty("工厂出库方式")
@JsonProperty("工厂出库方式")
private String outWarehouseType;
@ApiModelProperty("包条码")
@JsonProperty("包条码")
private String packageCode;

2
blade-service/logpm-factory/src/main/java/com/logpm/factory/mt/service/impl/MtFactoryDataServiceImpl.java

@ -715,7 +715,7 @@ public class MtFactoryDataServiceImpl implements IMtFactoryDataService {
Integer PUSH_STATUS_FAIL = 2;
JSONObject jsonObject = JSONObject.parseObject(result);
if (jsonObject == null || jsonObject.isEmpty() || 0 != jsonObject.getInteger("code")) {
if (jsonObject == null || jsonObject.isEmpty() || 0 != jsonObject.getInteger("Result")) {
mtOrderLogEntity.setPushStatus(PUSH_STATUS_FAIL);
} else {
mtOrderLogEntity.setPushStatus(PUSH_STATUS_SUCCESS);

55
blade-service/logpm-factory/src/test/java/com/logpm/factory/TestService.java

@ -62,6 +62,7 @@ import org.springblade.core.redis.cache.BladeRedis;
import org.springblade.core.test.BladeBootTest;
import org.springblade.core.test.BladeSpringExtension;
import org.springblade.core.tool.api.R;
import org.springblade.core.tool.utils.DateUtil;
import org.springblade.core.tool.utils.SpringUtil;
import org.springblade.core.tool.utils.StringUtil;
import org.springblade.resource.feign.IOssClient;
@ -76,6 +77,7 @@ import org.springframework.web.multipart.MultipartFile;
import org.springframework.web.multipart.commons.CommonsMultipartFile;
import javax.crypto.spec.PSource;
import javax.xml.crypto.Data;
import java.io.*;
import java.nio.charset.StandardCharsets;
import java.security.NoSuchAlgorithmException;
@ -1100,34 +1102,43 @@ public class TestService {
public static void main(String[] args) throws IOException, InterruptedException {
Date data1 = DateUtil.parse("2024-07-23 17:07:23.123","yyyy-MM-dd hh:mm:ss.SSS");
Date data2 = DateUtil.parse("2024-07-24 17:07:23.123","yyyy-MM-dd hh:mm:ss.SSS");
File file = new File("D:\\新建文件夹\\444.txt");
System.out.println(data1.getTime());
System.out.println(data2.getTime());
BufferedReader bufferedReader = new BufferedReader(new FileReader(file));
List<String> list = new ArrayList<>();
while (bufferedReader.ready()) {
String line = bufferedReader.readLine();
if(!list.contains(line)){
list.add(line);
System.out.println(line);
}
}
// 获取token
String s = buildToken();
for (String string : list) {
Thread.sleep(500);
System.out.println(string);
String url = "https://timsapi.oppein.com/tims_odata_api/api/odata/PackageFeedbackRecord";
HttpResponse httpResponse = HttpRequest.post(url).header("Authorization", s).body(string).execute();
String result = httpResponse.body();
System.out.println(result);
}
// File file = new File("D:\\新建文件夹\\444.txt");
//
// BufferedReader bufferedReader = new BufferedReader(new FileReader(file));
//
// List<String> list = new ArrayList<>();
//
// while (bufferedReader.ready()) {
// String line = bufferedReader.readLine();
// if(!list.contains(line)){
// list.add(line);
// System.out.println(line);
// }
// }
//
// // 获取token
// String s = buildToken();
//
//
//
// for (String string : list) {
// Thread.sleep(500);
// System.out.println(string);
// String url = "https://timsapi.oppein.com/tims_odata_api/api/odata/PackageFeedbackRecord";
// HttpResponse httpResponse = HttpRequest.post(url).header("Authorization", s).body(string).execute();
// String result = httpResponse.body();
// System.out.println(result);
// }
}

20
blade-service/logpm-patch/src/main/java/com/logpm/patch/jobhandle/DistributionDatarepair.java

@ -205,6 +205,26 @@ public class DistributionDatarepair {
return ReturnT.SUCCESS;
}
/**
* 推送单个 老系统系统
* @return
*/
@XxlJob("pushNotification")
public ReturnT<String> pushSingleNotification(String params) {
Boolean b = distributionSignforClient.clerkCheckPushData(Long.parseLong(params));
if(b!=null&&b){
warehouseMappingDataMapper.updateClearSignforStatusBysignforId(Long.parseLong(params), 1);
log.info(">>> 推送成功 {}",Long.parseLong(params));
}else{
log.error(">>> 推送失败 id="+Long.parseLong(params));
}
return ReturnT.SUCCESS;
}
/**
* 推送自提签收老系统系统
* @return

1
blade-service/logpm-patch/src/main/java/com/logpm/patch/mapper/WarehouseMappingDataMapper.java

@ -122,5 +122,6 @@ public interface WarehouseMappingDataMapper {
List<StockAllocationInfoVO> findStockAllocationInfo();
void updateClearSignforStatusBysignforId(@Param("singnforId")Long singnforId, @Param("dealStatus") Integer dealStatus);
}

5
blade-service/logpm-patch/src/main/java/com/logpm/patch/mapper/WarehouseMappingDataMapper.xml

@ -348,6 +348,11 @@
set total_num = #{num}
where id = #{aLong}
</update>
<update id="updateClearSignforStatusBysignforId">
update clear_singnfor_status_record
set deal_status = #{dealStatus}
where singnfor_id = #{singnforId}
</update>
<select id="findPackageTraysInfo" resultType="com.logpm.patch.vo.PackageTrayInfoVO">
select lwtg.association_value orderPackageCode,

6
blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/impl/TrunklineAdvanceDetailServiceImpl.java

@ -129,6 +129,7 @@ public class TrunklineAdvanceDetailServiceImpl extends BaseServiceImpl<Trunkline
public OrderPackgeCodeDataVO showAdvancePackgeCode(Map<String, Object> params) throws Exception {
OrderPackgeCodeDataVO orderPackgeCodeDataVO = new OrderPackgeCodeDataVO();
List<Map> data = new ArrayList<>();
List<String> values = new ArrayList<>();
BasicPrintTemplateEntity template = basicPrintTemplateClient.getPrintTemplate(PrintTemplateStatusConstant.daiqueren_10.getValue());
if (ObjectUtil.isEmpty(template)) {
throw new ServiceException("模板内容未找到");
@ -203,9 +204,14 @@ public class TrunklineAdvanceDetailServiceImpl extends BaseServiceImpl<Trunkline
String fileTypeName = QRCodeUtil.createCodeToFile(vo.getQrCode());
map.put("imgType", QRCodeUtil.getEmpAutograph(fileTypeName));
data.add(map);
String tempData = TemplateUtil.popTemplate(template.getTemplateName(), map, orderPackgeCodeDataVO.getTemplateHtml());
values.add(tempData);
}
orderPackgeCodeDataVO.setDataList(data);
orderPackgeCodeDataVO.setMoldList(values);
// TemplateUtil.popTemplate(template.getTemplateName(),data,orderPackgeCodeDataVO.getTemplateHtml())
return orderPackgeCodeDataVO;
}

Loading…
Cancel
Save