diff --git a/blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/excel/BasicdataFactoryCategoryImporter.java b/blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/excel/BasicdataFactoryCategoryImporter.java index eda5a0231..0588eb70d 100644 --- a/blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/excel/BasicdataFactoryCategoryImporter.java +++ b/blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/excel/BasicdataFactoryCategoryImporter.java @@ -248,6 +248,9 @@ public class BasicdataFactoryCategoryImporter implements ExcelImporter<Basicdata } + }catch (CustomerException e){ + log.error("保存失败!", e); + throw new CustomerException(405, e.getMessage()); }catch (Exception e){ log.error("保存失败!", e); throw new CustomerException(405, "保存失败!"); @@ -284,7 +287,7 @@ public class BasicdataFactoryCategoryImporter implements ExcelImporter<Basicdata */ private String buildEqualString(BasicdataFactoryCategoryEntity allBasicdataFactoryCategoryEntity) { StringBuilder stringBuffer = new StringBuilder(); - stringBuffer.append(allBasicdataFactoryCategoryEntity.getBrand()).append(allBasicdataFactoryCategoryEntity.getCategory()); + stringBuffer.append(allBasicdataFactoryCategoryEntity.getBrand()); // 增加结算类型 收入或者成本 stringBuffer.append(allBasicdataFactoryCategoryEntity.getType()); @@ -322,7 +325,7 @@ public class BasicdataFactoryCategoryImporter implements ExcelImporter<Basicdata */ private String buildEqualString2(BasicdataFactoryCategoryExcel datum) { StringBuilder stringBuffer = new StringBuilder(); - stringBuffer.append(datum.getBrand()).append(datum.getCategory()); + stringBuffer.append(datum.getBrand()); // 增加结算类型 收入或者成本 stringBuffer.append(datum.getType()); if (ObjectUtil.isNotEmpty(datum.getFirsts())) { diff --git a/blade-service/logpm-report/src/main/java/com/logpm/report/controller/ReportTimeController.java b/blade-service/logpm-report/src/main/java/com/logpm/report/controller/ReportTimeController.java index 28b672479..0766bc3cf 100644 --- a/blade-service/logpm-report/src/main/java/com/logpm/report/controller/ReportTimeController.java +++ b/blade-service/logpm-report/src/main/java/com/logpm/report/controller/ReportTimeController.java @@ -52,23 +52,6 @@ public class ReportTimeController extends BladeController { @ApiOperation(value = "开单时效明细报表", notes = "开单时效明细报表") public R openTimeDetailPage(@RequestBody ReportTimeDTO reportTimeDTO) { String method = "###########openTimeDetailPage: "; - String brand = reportTimeDTO.getBrand(); - String businessLine = reportTimeDTO.getBusinessLine(); - Long warehouseId = reportTimeDTO.getWarehouseId(); - if(StringUtil.isBlank(brand)){ - log.warn(method+"品牌不能为空 {}",brand); - return R.fail(405,"品牌不能为空"); - } - - if(StringUtil.isBlank(businessLine)){ - log.warn(method+"事业线不能为空 {}",businessLine); - return R.fail(405,"事业线不能为空"); - } - - if(Objects.isNull(warehouseId)){ - log.warn(method+"仓库id不能为空 {}",warehouseId); - return R.fail(405,"仓库id不能为空"); - } try{ return reportTimeService.openTimeDetailPage(reportTimeDTO); }catch (Exception e){ @@ -82,23 +65,6 @@ public class ReportTimeController extends BladeController { @ApiOperation(value = "开单时效明细报表导出", notes = "开单时效明细报表导出") public void openTimeDetailExport(@RequestBody ReportTimeDTO reportTimeDTO, HttpServletResponse response) { String method = "###########openTimeDetailExport: "; - String brand = reportTimeDTO.getBrand(); - String businessLine = reportTimeDTO.getBusinessLine(); - Long warehouseId = reportTimeDTO.getWarehouseId(); - if(StringUtil.isBlank(brand)){ - log.warn(method+"品牌不能为空 {}",brand); - throw new CustomerException(405,"品牌不能为空"); - } - - if(StringUtil.isBlank(businessLine)){ - log.warn(method+"事业线不能为空 {}",businessLine); - throw new CustomerException(405,"事业线不能为空"); - } - - if(Objects.isNull(warehouseId)){ - log.warn(method+"仓库id不能为空 {}",warehouseId); - throw new CustomerException(405,"仓库id不能为空"); - } reportTimeService.openTimeDetailExport(reportTimeDTO,response); } diff --git a/blade-service/logpm-report/src/main/java/com/logpm/report/mapper/ReportTimeMapper.xml b/blade-service/logpm-report/src/main/java/com/logpm/report/mapper/ReportTimeMapper.xml index 3cd5fae03..9a7ffd939 100644 --- a/blade-service/logpm-report/src/main/java/com/logpm/report/mapper/ReportTimeMapper.xml +++ b/blade-service/logpm-report/src/main/java/com/logpm/report/mapper/ReportTimeMapper.xml @@ -711,9 +711,11 @@ ldsa.brand brand, sum(ldsa.incoming_num) incomingNum, IFNULL(sum(ltcls.num),0) outNum, + sum( ldsa.incoming_num ) - IFNULL(sum(ltcls.num),0) noOutNum, sum(if(ltcll.start_date <= DATE_ADD( ldsa.create_time, INTERVAL #{param.hoursTime} HOUR ),ltcls.num,0)) outOnTimeNum, IFNULL(round(sum(if(ltcll.start_date <= DATE_ADD( ldsa.create_time, INTERVAL #{param.hoursTime} HOUR ),ltcls.num,0))/sum(ldsa.incoming_num)*100,2),'0.00') outOnTimeRate, - round(sum(TIMESTAMPDIFF(SECOND, ldsa.create_time, ltcll.start_date)*ltcls.num)/sum(ltcls.num)/3600,1) avgTime + round(sum(TIMESTAMPDIFF(SECOND, ldsa.create_time, ltcll.start_date)*ltcls.num)/sum(ltcls.num)/3600,1) avgTime, + #{param.hoursTime} hoursTime from logpm_distribution_stock_article ldsa left join logpm_warehouse_warehouse waw on waw.id = ldsa.warehouse_id left join logpm_warehouse_waybill lww on lww.waybill_no = ldsa.order_code @@ -775,9 +777,11 @@ ldsa.brand brand, sum(ldsa.incoming_num) incomingNum, IFNULL(sum(ltcls.num),0) outNum, + sum( ldsa.incoming_num ) - IFNULL(sum(ltcls.num),0) noOutNum, sum(if(ltcll.start_date <= DATE_ADD( ldsa.create_time, INTERVAL #{param.hoursTime} HOUR ),ltcls.num,0)) outOnTimeNum, IFNULL(concat(round(sum(if(ltcll.start_date <= DATE_ADD( ldsa.create_time, INTERVAL #{param.hoursTime} HOUR ),ltcls.num,0))/sum(ldsa.incoming_num)*100,2),'%'),'0.00%') outOnTimeRate, - round(sum(TIMESTAMPDIFF(SECOND, ldsa.create_time, ltcll.start_date)*ltcls.num)/sum(ltcls.num)/3600,1) avgTime + round(sum(TIMESTAMPDIFF(SECOND, ldsa.create_time, ltcll.start_date)*ltcls.num)/sum(ltcls.num)/3600,1) avgTime, + #{param.hoursTime} hoursTime from logpm_distribution_stock_article ldsa left join logpm_warehouse_warehouse waw on waw.id = ldsa.warehouse_id left join logpm_warehouse_waybill lww on lww.waybill_no = ldsa.order_code @@ -1618,6 +1622,7 @@ lta.store_name storeName, lta.warehouse_id warehouseId, lta.warehouse_name warehouseName, + min(ltad.incoming_time) incomingTime, GROUP_CONCAT(DISTINCT ltad.incoming_warehouse_name) incomingWarehouseName, lta.site_name siteName, lta.brand brand, @@ -1656,9 +1661,15 @@ left join logpm_warehouse_waybill lww on lww.waybill_no = lta.waybill_no left join logpm_trunkline_advance_detail ltad on ltad.advance_id = lta.id where lta.create_time > '2024-10-22 00:00:00' - and waw.business_line = #{param.businessLine} - and lta.brand = #{param.brand} - and lta.warehouse_id = #{param.warehouseId} + <if test="param.businessLine != null and param.businessLine !='' "> + and waw.business_line = #{param.businessLine} + </if> + <if test="param.brand != null and param.brand !='' "> + and lta.brand = #{param.brand} + </if> + <if test="param.warehouseId != null "> + and lta.warehouse_id = #{param.warehouseId} + </if> <if test="param.businessLineList != null and param.businessLineList.size() > 0"> and waw.business_line in <foreach collection="param.businessLineList" item="item" open="(" separator="," close=")"> @@ -1788,6 +1799,7 @@ lta.store_name storeName, lta.warehouse_id warehouseId, lta.warehouse_name warehouseName, + min(ltad.incoming_time) incomingTime, GROUP_CONCAT(DISTINCT ltad.incoming_warehouse_name) incomingWarehouseName, lta.site_name siteName, lta.brand brand, @@ -1832,9 +1844,15 @@ left join logpm_warehouse_waybill lww on lww.waybill_no = lta.waybill_no left join logpm_trunkline_advance_detail ltad on ltad.advance_id = lta.id where lta.create_time > '2024-10-22 00:00:00' - and waw.business_line = #{param.businessLine} - and lta.brand = #{param.brand} - and lta.warehouse_id = #{param.warehouseId} + <if test="param.businessLine != null and param.businessLine !='' "> + and waw.business_line = #{param.businessLine} + </if> + <if test="param.brand != null and param.brand !='' "> + and lta.brand = #{param.brand} + </if> + <if test="param.warehouseId != null "> + and lta.warehouse_id = #{param.warehouseId} + </if> <if test="param.businessLineList != null and param.businessLineList.size() > 0"> and waw.business_line in <foreach collection="param.businessLineList" item="item" open="(" separator="," close=")"> diff --git a/blade-service/logpm-report/src/main/java/com/logpm/report/vo/ReportOpenTimeDetailVO.java b/blade-service/logpm-report/src/main/java/com/logpm/report/vo/ReportOpenTimeDetailVO.java index b4715a865..664c8ddaf 100644 --- a/blade-service/logpm-report/src/main/java/com/logpm/report/vo/ReportOpenTimeDetailVO.java +++ b/blade-service/logpm-report/src/main/java/com/logpm/report/vo/ReportOpenTimeDetailVO.java @@ -30,6 +30,10 @@ public class ReportOpenTimeDetailVO implements Serializable { private Long warehouseId; @ExcelProperty(value = "导入仓库") private String warehouseName; + + @ExcelProperty(value = "入库时间") + @JsonFormat(locale = "zh", timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") + private Date incomingTime; @ExcelProperty(value = "入库仓库") private String incomingWarehouseName; diff --git a/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/controller/AdvanceDetailController.java b/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/controller/AdvanceDetailController.java index 7206534b1..fe13f6648 100644 --- a/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/controller/AdvanceDetailController.java +++ b/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/controller/AdvanceDetailController.java @@ -8,6 +8,7 @@ import com.logpm.basicdata.feign.IBasicdataWarehouseClient; import com.logpm.distribution.vo.OrderPackgeCodeDataVO; import com.logpm.trunkline.dto.AdvanceDetailDTO; import com.logpm.trunkline.dto.OrderDetailsDTO; +import com.logpm.trunkline.dto.PackageCodeDTO; import com.logpm.trunkline.service.ITrunklineAdvanceDetailService; import com.logpm.trunkline.vo.TrunklineAdvanceDetailVO; import io.swagger.annotations.Api; @@ -17,10 +18,8 @@ import lombok.extern.slf4j.Slf4j; import org.springblade.common.exception.CustomerException; import org.springblade.core.tool.api.R; import org.springframework.web.bind.annotation.*; -import springfox.documentation.annotations.ApiIgnore; import java.util.List; -import java.util.Map; import java.util.Objects; @Slf4j @@ -62,14 +61,14 @@ public class AdvanceDetailController { } - @GetMapping("/showAdvancePackgeCode") + @PostMapping("/showAdvancePackgeCode") @ApiOperationSupport(order = 2) @ApiOperation(value = "返回模板和模板内容") - public R showAdvancePackgeCode(@ApiIgnore @RequestParam Map<String,Object> params){ + public R showAdvancePackgeCode(@RequestBody PackageCodeDTO packageCodeDTO){ OrderPackgeCodeDataVO orderPackgeCodeDataVo= null; try { - orderPackgeCodeDataVo = advanceDetailService.showAdvancePackgeCode(params); + orderPackgeCodeDataVo = advanceDetailService.showAdvancePackgeCode(packageCodeDTO); } catch (Exception e) { return R.fail(e.getMessage()); } diff --git a/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/dto/PackageCodeDTO.java b/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/dto/PackageCodeDTO.java new file mode 100644 index 000000000..b4ac476ee --- /dev/null +++ b/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/dto/PackageCodeDTO.java @@ -0,0 +1,13 @@ +package com.logpm.trunkline.dto; + +import lombok.Data; + +import java.io.Serializable; +import java.util.List; + +@Data +public class PackageCodeDTO implements Serializable { + + private List<String> orderPackageCodes; + +} diff --git a/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/ITrunklineAdvanceDetailService.java b/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/ITrunklineAdvanceDetailService.java index 84b0e0f72..9be8e14e1 100644 --- a/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/ITrunklineAdvanceDetailService.java +++ b/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/ITrunklineAdvanceDetailService.java @@ -6,6 +6,7 @@ import com.logpm.distribution.vo.OrderPackgeCodeDataVO; import com.logpm.trunkline.dto.AdvanceDTO; import com.logpm.trunkline.dto.AdvanceDetailDTO; import com.logpm.trunkline.dto.OrderDetailsDTO; +import com.logpm.trunkline.dto.PackageCodeDTO; import com.logpm.trunkline.entity.TrunklineAdvanceDetailEntity; import com.logpm.trunkline.vo.*; import com.logpm.warehouse.entity.WarehouseWaybillEntity; @@ -41,7 +42,7 @@ public interface ITrunklineAdvanceDetailService extends BaseService<TrunklineAdv Integer getNumByAdvanceId(Long advanceId); - OrderPackgeCodeDataVO showAdvancePackgeCode(Map<String, Object> params) throws Exception; + OrderPackgeCodeDataVO showAdvancePackgeCode(PackageCodeDTO packageCodeDTO) throws Exception; List<TrunklineAdvanceDetailEntity> findListByAdvanceId(Long advanceId); diff --git a/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/impl/TrunklineAdvanceDetailServiceImpl.java b/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/impl/TrunklineAdvanceDetailServiceImpl.java index b6c8b4bb7..9b807483e 100644 --- a/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/impl/TrunklineAdvanceDetailServiceImpl.java +++ b/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/impl/TrunklineAdvanceDetailServiceImpl.java @@ -6,7 +6,6 @@ import cn.hutool.core.util.StrUtil; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; -import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.logpm.basic.entity.BasicPrintTemplateEntity; @@ -17,6 +16,7 @@ import com.logpm.distribution.vo.OrderPackgeCodeDataVO; import com.logpm.trunkline.dto.AdvanceDTO; import com.logpm.trunkline.dto.AdvanceDetailDTO; import com.logpm.trunkline.dto.OrderDetailsDTO; +import com.logpm.trunkline.dto.PackageCodeDTO; import com.logpm.trunkline.entity.ReportPackageBasicEntity; import com.logpm.trunkline.entity.TrunklineAdvanceDetailEntity; import com.logpm.trunkline.entity.TrunklineAdvanceEntity; @@ -35,6 +35,7 @@ import org.springblade.common.constant.broadcast.FanoutConstants; import org.springblade.common.constant.printTemplate.PrintTemplateStatusConstant; import org.springblade.common.enums.BizOperationEnums; import org.springblade.common.enums.PackageTypeEnums; +import org.springblade.common.exception.CustomerException; import org.springblade.common.model.FanoutMsg; import org.springblade.common.model.NodeFanoutMsg; import org.springblade.common.model.PackageData; @@ -157,7 +158,7 @@ public class TrunklineAdvanceDetailServiceImpl extends BaseServiceImpl<Trunkline } @Override - public OrderPackgeCodeDataVO showAdvancePackgeCode(Map<String, Object> params) throws Exception { + public OrderPackgeCodeDataVO showAdvancePackgeCode(PackageCodeDTO packageCodeDTO) throws Exception { log.info("----------------------------------------111111111"); OrderPackgeCodeDataVO orderPackgeCodeDataVO = new OrderPackgeCodeDataVO(); List<Map> data = new ArrayList<>(); @@ -170,15 +171,10 @@ public class TrunklineAdvanceDetailServiceImpl extends BaseServiceImpl<Trunkline String html = TemplateUtil.getTemplateByUrl(template.getTemplateUrl()); orderPackgeCodeDataVO.setTemplateHtml(html); orderPackgeCodeDataVO.setTemplateId(template.getId()); - String orderPackageCodes = (String) params.get("orderPackageCodes"); + List<String> orderPackageCodes = packageCodeDTO.getOrderPackageCodes(); - String[] idArray = orderPackageCodes.split(","); - if (ObjectUtils.isNull(idArray)) { - throw new ServiceException("参数错误"); - - } log.info("----------------------------------------333333333"); - for (String orderPackageCode : idArray) { + orderPackageCodes.forEach(orderPackageCode -> { DistributionStockArticleQRCodeVO vo = new DistributionStockArticleQRCodeVO(); log.info("----------------------------------------444444444444444444"); TrunklineAdvanceDetailEntity advanceDetailEntity = baseMapper.findEntityByOrderPackageCodelimit1(orderPackageCode); @@ -241,9 +237,14 @@ public class TrunklineAdvanceDetailServiceImpl extends BaseServiceImpl<Trunkline String fileTypeName = QRCodeUtil.createCodeToFile(vo.getOrderCode()); map.put("imgType", QRCodeUtil.getEmpAutograph(fileTypeName)); data.add(map); - String tempData = TemplateUtil.popTemplate(template.getTemplateName(), map, orderPackgeCodeDataVO.getTemplateHtml()); + String tempData = null; + try { + tempData = TemplateUtil.popTemplate(template.getTemplateName(), map, orderPackgeCodeDataVO.getTemplateHtml()); + } catch (Exception e) { + throw new CustomerException(405, "模板生成失败"); + } values.add(tempData); - } + }); log.info("----------------------------------------88888888888888"); orderPackgeCodeDataVO.setDataList(data); diff --git a/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/impl/TrunklineCarsLoadServiceImpl.java b/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/impl/TrunklineCarsLoadServiceImpl.java index 35d521c25..35bb24ade 100644 --- a/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/impl/TrunklineCarsLoadServiceImpl.java +++ b/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/impl/TrunklineCarsLoadServiceImpl.java @@ -1516,6 +1516,9 @@ public class TrunklineCarsLoadServiceImpl extends BaseServiceImpl<TrunklineCarsL String content = "包件在 " + warehouseEntity.getName() + "卸车确认"; packageTrackLogAsyncService.addPackageTrackLog(AuthUtil.getTenantId(), AuthUtil.getUserId(), Func.firstLong(AuthUtil.getDeptId()), AuthUtil.getNickName(), orderPackageCodes, warehouseId, warehouseEntity.getName(), node.getCode(), content); + //同步一次系统无编码数据 + syncNoSystemData(loadId, warehouseId, warehouseEntity.getName()); + } catch (Exception e) { log.warn("###############unloadPackage: 存入异常列表记录失败"); } @@ -11173,6 +11176,22 @@ public class TrunklineCarsLoadServiceImpl extends BaseServiceImpl<TrunklineCarsL List<DistributionStockArticleEntity> updateStockArticleList = new ArrayList<>(); groupedByLoadId.keySet().forEach(loadId -> { + TrunklineCarsLoadLineEntity loadLineEntity = trunklineCarsLoadLineService.findEntityByLoadIdAndNodeId(loadId, warehouseId); + if (Objects.isNull(loadLineEntity)) { + log.warn("##################removeCarsLoadScan: 配载计划不存在 loadId={}", loadId); + throw new CustomerException(405,"配载计划不存在"); + } + + String nodeStatus = loadLineEntity.getNodeStatus(); + if("20".equals(nodeStatus)){ + log.warn("##################removeCarsLoadScan: 当前节点已发车 loadId={} warehouseId={}", loadId,warehouseId); + throw new CustomerException(405,"当前节点已发车"); + } + if("0".equals(nodeStatus)){ + log.warn("##################removeCarsLoadScan: 当前节点未到达 loadId={} warehouseId={}", loadId,warehouseId); + throw new CustomerException(405,"当前节点未到达"); + } + List<TrunklineCarsLoadScanEntity> loadScanEntityList = groupedByLoadId.get(loadId); if(CollUtil.isNotEmpty(loadScanEntityList)){ //把loadScanEntityList通过fromNodeId进行分组