From f4717672de3ac51924dc16bcb85849a95e7fbaf4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=8E=8B=E5=B8=85?= <3115919733@qq.com> Date: Mon, 9 Jun 2025 14:18:29 +0800 Subject: [PATCH] =?UTF-8?q?=E5=8F=91=E8=B4=A7=E9=9C=80=E6=B1=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../entity/TmsIogisticsPrice.java | 12 +- .../mapper/xml/TmsIogisticsPriceMapper.xml | 2 +- .../vehiclepallet/entity/VehiclePallet.java | 6 +- .../mapper/TmsVehicleProductMapper.java | 2 +- .../mapper/xml/TmsVehicleProductMapper.xml | 2 +- .../controller/DeliveryPlanController.java | 10 + .../mapper/DeliveryPlanMapper.java | 1 + .../mapper/xml/DeliveryPlanMapper.xml | 8 + .../service/IDeliveryPlanService.java | 2 + .../service/impl/DeliveryPlanServiceImpl.java | 6 + .../DeliveryPlanDetailController.java | 9 + .../controller/VehicleInOutController.java | 5 +- .../controller/DeliveryDemandController.java | 34 +++- .../deliverydemand/entity/DeliveryDemand.java | 26 ++- .../mapper/DeliveryDemandMapper.java | 4 +- .../mapper/xml/DeliveryDemandMapper.xml | 11 ++ .../service/IDeliveryDemandService.java | 7 +- .../impl/DeliveryDemandServiceImpl.java | 33 +++- .../DeliveryDemandDetailController.java | 186 ++++++++++++++++++ .../entity/DeliveryDemandDetail.java | 94 +++++++++ .../mapper/DeliveryDemandDetailMapper.java | 17 ++ .../mapper/xml/DeliveryDemandDetailMapper.xml | 5 + .../service/IDeliveryDemandDetailService.java | 14 ++ .../impl/DeliveryDemandDetailServiceImpl.java | 19 ++ 24 files changed, 478 insertions(+), 37 deletions(-) create mode 100644 jeecg-boot/jeecg-module-tms/src/main/java/org/jeecg/modules/tms/outbound/deliverydemanddetail/controller/DeliveryDemandDetailController.java create mode 100644 jeecg-boot/jeecg-module-tms/src/main/java/org/jeecg/modules/tms/outbound/deliverydemanddetail/entity/DeliveryDemandDetail.java create mode 100644 jeecg-boot/jeecg-module-tms/src/main/java/org/jeecg/modules/tms/outbound/deliverydemanddetail/mapper/DeliveryDemandDetailMapper.java create mode 100644 jeecg-boot/jeecg-module-tms/src/main/java/org/jeecg/modules/tms/outbound/deliverydemanddetail/mapper/xml/DeliveryDemandDetailMapper.xml create mode 100644 jeecg-boot/jeecg-module-tms/src/main/java/org/jeecg/modules/tms/outbound/deliverydemanddetail/service/IDeliveryDemandDetailService.java create mode 100644 jeecg-boot/jeecg-module-tms/src/main/java/org/jeecg/modules/tms/outbound/deliverydemanddetail/service/impl/DeliveryDemandDetailServiceImpl.java diff --git a/jeecg-boot/jeecg-module-tms/src/main/java/org/jeecg/modules/tms/basicdata/iogisticsprice/entity/TmsIogisticsPrice.java b/jeecg-boot/jeecg-module-tms/src/main/java/org/jeecg/modules/tms/basicdata/iogisticsprice/entity/TmsIogisticsPrice.java index c984de3..a204a56 100644 --- a/jeecg-boot/jeecg-module-tms/src/main/java/org/jeecg/modules/tms/basicdata/iogisticsprice/entity/TmsIogisticsPrice.java +++ b/jeecg-boot/jeecg-module-tms/src/main/java/org/jeecg/modules/tms/basicdata/iogisticsprice/entity/TmsIogisticsPrice.java @@ -77,9 +77,9 @@ public class TmsIogisticsPrice implements Serializable { @Excel(name = "公里数", width = 15) @ApiModelProperty(value = "公里数") private java.lang.Integer kilometers; - /**车型*/ - @Excel(name = "车型", width = 15) - @ApiModelProperty(value = "车型") + /**运输类型*/ + @Excel(name = "运输类型", width = 15) + @ApiModelProperty(value = "运输类型") private java.lang.String carType; /**车长*/ @Excel(name = "车长", width = 15) @@ -126,4 +126,10 @@ public class TmsIogisticsPrice implements Serializable { /**托数*/ @TableField(exist = false) private java.lang.Integer maxPallets; + /**失效日期*/ + @Excel(name = "失效日期", width = 15, format = "yyyy-MM-dd") + @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd") + @DateTimeFormat(pattern="yyyy-MM-dd") + @ApiModelProperty(value = "失效日期") + private java.util.Date failureTime; } diff --git a/jeecg-boot/jeecg-module-tms/src/main/java/org/jeecg/modules/tms/basicdata/iogisticsprice/mapper/xml/TmsIogisticsPriceMapper.xml b/jeecg-boot/jeecg-module-tms/src/main/java/org/jeecg/modules/tms/basicdata/iogisticsprice/mapper/xml/TmsIogisticsPriceMapper.xml index 398d6d4..ed7f3cf 100644 --- a/jeecg-boot/jeecg-module-tms/src/main/java/org/jeecg/modules/tms/basicdata/iogisticsprice/mapper/xml/TmsIogisticsPriceMapper.xml +++ b/jeecg-boot/jeecg-module-tms/src/main/java/org/jeecg/modules/tms/basicdata/iogisticsprice/mapper/xml/TmsIogisticsPriceMapper.xml @@ -8,6 +8,6 @@ and a.car_long = b.car_long where a.start_city = #{pickUpHub} and a.target_city = #{deliveryAddress} - and (a.EFFECTIVE_DATE + a.VALIDITY) >= TRUNC(SYSDATE) + and a.failureTime >= TRUNC(SYSDATE) diff --git a/jeecg-boot/jeecg-module-tms/src/main/java/org/jeecg/modules/tms/basicdata/vehiclepallet/entity/VehiclePallet.java b/jeecg-boot/jeecg-module-tms/src/main/java/org/jeecg/modules/tms/basicdata/vehiclepallet/entity/VehiclePallet.java index c80d817..d2526e7 100644 --- a/jeecg-boot/jeecg-module-tms/src/main/java/org/jeecg/modules/tms/basicdata/vehiclepallet/entity/VehiclePallet.java +++ b/jeecg-boot/jeecg-module-tms/src/main/java/org/jeecg/modules/tms/basicdata/vehiclepallet/entity/VehiclePallet.java @@ -48,9 +48,9 @@ public class VehiclePallet implements Serializable { @DateTimeFormat(pattern="yyyy-MM-dd") @ApiModelProperty(value = "更新日期") private java.util.Date updateTime; - /**车型*/ - @Excel(name = "车型", width = 15) - @ApiModelProperty(value = "车型") + /**运输类型*/ + @Excel(name = "运输类型", width = 15) + @ApiModelProperty(value = "运输类型") private java.lang.String carType; /**车长*/ @Excel(name = "车长", width = 15) diff --git a/jeecg-boot/jeecg-module-tms/src/main/java/org/jeecg/modules/tms/basicdata/vehicleproduct/mapper/TmsVehicleProductMapper.java b/jeecg-boot/jeecg-module-tms/src/main/java/org/jeecg/modules/tms/basicdata/vehicleproduct/mapper/TmsVehicleProductMapper.java index 042e99b..18ff915 100644 --- a/jeecg-boot/jeecg-module-tms/src/main/java/org/jeecg/modules/tms/basicdata/vehicleproduct/mapper/TmsVehicleProductMapper.java +++ b/jeecg-boot/jeecg-module-tms/src/main/java/org/jeecg/modules/tms/basicdata/vehicleproduct/mapper/TmsVehicleProductMapper.java @@ -14,5 +14,5 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; */ public interface TmsVehicleProductMapper extends BaseMapper { - Integer getQty(@Param("pn") String pn, @Param("spec") String spec); + Integer getQty(@Param("pn") String pn); } diff --git a/jeecg-boot/jeecg-module-tms/src/main/java/org/jeecg/modules/tms/basicdata/vehicleproduct/mapper/xml/TmsVehicleProductMapper.xml b/jeecg-boot/jeecg-module-tms/src/main/java/org/jeecg/modules/tms/basicdata/vehicleproduct/mapper/xml/TmsVehicleProductMapper.xml index b97ad58..ac60315 100644 --- a/jeecg-boot/jeecg-module-tms/src/main/java/org/jeecg/modules/tms/basicdata/vehicleproduct/mapper/xml/TmsVehicleProductMapper.xml +++ b/jeecg-boot/jeecg-module-tms/src/main/java/org/jeecg/modules/tms/basicdata/vehicleproduct/mapper/xml/TmsVehicleProductMapper.xml @@ -5,6 +5,6 @@ diff --git a/jeecg-boot/jeecg-module-tms/src/main/java/org/jeecg/modules/tms/carinout/deliveryplan/controller/DeliveryPlanController.java b/jeecg-boot/jeecg-module-tms/src/main/java/org/jeecg/modules/tms/carinout/deliveryplan/controller/DeliveryPlanController.java index 43a9792..e49b816 100644 --- a/jeecg-boot/jeecg-module-tms/src/main/java/org/jeecg/modules/tms/carinout/deliveryplan/controller/DeliveryPlanController.java +++ b/jeecg-boot/jeecg-module-tms/src/main/java/org/jeecg/modules/tms/carinout/deliveryplan/controller/DeliveryPlanController.java @@ -231,6 +231,16 @@ public class DeliveryPlanController extends JeecgController getByPo() { + List strings = deliveryPlanService.getPo(); + return Result.OK(strings); + } + /** * 获取送货计划信息 * @param id diff --git a/jeecg-boot/jeecg-module-tms/src/main/java/org/jeecg/modules/tms/carinout/deliveryplan/mapper/DeliveryPlanMapper.java b/jeecg-boot/jeecg-module-tms/src/main/java/org/jeecg/modules/tms/carinout/deliveryplan/mapper/DeliveryPlanMapper.java index b36f5ce..4a13df5 100644 --- a/jeecg-boot/jeecg-module-tms/src/main/java/org/jeecg/modules/tms/carinout/deliveryplan/mapper/DeliveryPlanMapper.java +++ b/jeecg-boot/jeecg-module-tms/src/main/java/org/jeecg/modules/tms/carinout/deliveryplan/mapper/DeliveryPlanMapper.java @@ -16,4 +16,5 @@ import org.jeecg.modules.tms.carinout.deliveryplandetail.entity.DeliveryPlanDeta public interface DeliveryPlanMapper extends BaseMapper { List getByPo(@Param("po") String po); + List getPo(); } diff --git a/jeecg-boot/jeecg-module-tms/src/main/java/org/jeecg/modules/tms/carinout/deliveryplan/mapper/xml/DeliveryPlanMapper.xml b/jeecg-boot/jeecg-module-tms/src/main/java/org/jeecg/modules/tms/carinout/deliveryplan/mapper/xml/DeliveryPlanMapper.xml index a789626..a072d54 100644 --- a/jeecg-boot/jeecg-module-tms/src/main/java/org/jeecg/modules/tms/carinout/deliveryplan/mapper/xml/DeliveryPlanMapper.xml +++ b/jeecg-boot/jeecg-module-tms/src/main/java/org/jeecg/modules/tms/carinout/deliveryplan/mapper/xml/DeliveryPlanMapper.xml @@ -9,5 +9,13 @@ left join MATERIALRECEIVEREQUESTDETAIL b on a.RECEIVEREQUESTNAME = b.RECEIVEREQUESTNAME where a.RECEIVEREQUESTNAME = #{po} + and a.SITENAME = 'SDK' + and a.RECEIVEREQUESTSTATE = 'Created' + + + diff --git a/jeecg-boot/jeecg-module-tms/src/main/java/org/jeecg/modules/tms/carinout/deliveryplan/service/IDeliveryPlanService.java b/jeecg-boot/jeecg-module-tms/src/main/java/org/jeecg/modules/tms/carinout/deliveryplan/service/IDeliveryPlanService.java index a526ff2..b3cd55e 100644 --- a/jeecg-boot/jeecg-module-tms/src/main/java/org/jeecg/modules/tms/carinout/deliveryplan/service/IDeliveryPlanService.java +++ b/jeecg-boot/jeecg-module-tms/src/main/java/org/jeecg/modules/tms/carinout/deliveryplan/service/IDeliveryPlanService.java @@ -15,4 +15,6 @@ import java.util.List; public interface IDeliveryPlanService extends IService { List getByPo(String po); + + List getPo(); } diff --git a/jeecg-boot/jeecg-module-tms/src/main/java/org/jeecg/modules/tms/carinout/deliveryplan/service/impl/DeliveryPlanServiceImpl.java b/jeecg-boot/jeecg-module-tms/src/main/java/org/jeecg/modules/tms/carinout/deliveryplan/service/impl/DeliveryPlanServiceImpl.java index aa70c67..27ccc10 100644 --- a/jeecg-boot/jeecg-module-tms/src/main/java/org/jeecg/modules/tms/carinout/deliveryplan/service/impl/DeliveryPlanServiceImpl.java +++ b/jeecg-boot/jeecg-module-tms/src/main/java/org/jeecg/modules/tms/carinout/deliveryplan/service/impl/DeliveryPlanServiceImpl.java @@ -29,4 +29,10 @@ public class DeliveryPlanServiceImpl extends ServiceImpl getByPo(String po) { return deliveryPlanMapper.getByPo(po); } + + @DS("wms") + @Override + public List getPo() { + return deliveryPlanMapper.getPo(); + } } diff --git a/jeecg-boot/jeecg-module-tms/src/main/java/org/jeecg/modules/tms/carinout/deliveryplandetail/controller/DeliveryPlanDetailController.java b/jeecg-boot/jeecg-module-tms/src/main/java/org/jeecg/modules/tms/carinout/deliveryplandetail/controller/DeliveryPlanDetailController.java index 0dc84ca..5ebdfeb 100644 --- a/jeecg-boot/jeecg-module-tms/src/main/java/org/jeecg/modules/tms/carinout/deliveryplandetail/controller/DeliveryPlanDetailController.java +++ b/jeecg-boot/jeecg-module-tms/src/main/java/org/jeecg/modules/tms/carinout/deliveryplandetail/controller/DeliveryPlanDetailController.java @@ -9,6 +9,8 @@ import java.io.UnsupportedEncodingException; import java.net.URLDecoder; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import org.jeecg.common.api.vo.Result; import org.jeecg.common.system.query.QueryGenerator; import org.jeecg.common.util.oConvertUtils; @@ -174,4 +176,11 @@ public class DeliveryPlanDetailController extends JeecgController getByPo(String id) { + LambdaQueryWrapper lambdaQueryWrapper = new LambdaQueryWrapper<>(); + lambdaQueryWrapper.eq(DeliveryPlanDetail::getDeliveryPlanId, id); + List list = deliveryPlanDetailService.list(lambdaQueryWrapper); + return Result.OK(list); + } } diff --git a/jeecg-boot/jeecg-module-tms/src/main/java/org/jeecg/modules/tms/carinout/vehicleinout/controller/VehicleInOutController.java b/jeecg-boot/jeecg-module-tms/src/main/java/org/jeecg/modules/tms/carinout/vehicleinout/controller/VehicleInOutController.java index 94a197c..b0375de 100644 --- a/jeecg-boot/jeecg-module-tms/src/main/java/org/jeecg/modules/tms/carinout/vehicleinout/controller/VehicleInOutController.java +++ b/jeecg-boot/jeecg-module-tms/src/main/java/org/jeecg/modules/tms/carinout/vehicleinout/controller/VehicleInOutController.java @@ -211,11 +211,12 @@ public class VehicleInOutController extends JeecgController { @Autowired private IDeliveryDemandService deliveryDemandService; + @Autowired + private IDeliveryDemandDetailService deliveryDemandDetailService; /** * 分页列表查询 @@ -101,8 +105,14 @@ public class DeliveryDemandController extends JeecgController add(@RequestBody DeliveryDemand deliveryDemand) { deliveryDemandService.save(deliveryDemand); + List deliveryDemandDetailList = deliveryDemand.getDeliveryDemandDetailList(); + deliveryDemandDetailList.forEach(item ->{ + item.setDeliveryDemandId(deliveryDemand.getId()); + }); + deliveryDemandDetailService.saveBatch(deliveryDemandDetailList); return Result.OK("添加成功!"); } @@ -114,10 +124,16 @@ public class DeliveryDemandController extends JeecgController edit(@RequestBody DeliveryDemand deliveryDemand) { deliveryDemandService.updateById(deliveryDemand); + List deliveryDemandDetailList = deliveryDemand.getDeliveryDemandDetailList(); + deliveryDemandDetailList.forEach(item ->{ + item.setDeliveryDemandId(deliveryDemand.getId()); + }); + deliveryDemandDetailService.saveOrUpdateBatch(deliveryDemandDetailList); return Result.OK("编辑成功!"); } @@ -205,12 +221,12 @@ public class DeliveryDemandController extends JeecgController getPalletsNum(@RequestBody DeliveryDemand deliveryDemand) { - return deliveryDemandService.getPalletsNum(deliveryDemand); + public Result getPalletsNum(@RequestBody List deliveryDemands) { + return deliveryDemandService.getPalletsNum(deliveryDemands); } /** @@ -249,4 +265,14 @@ public class DeliveryDemandController extends JeecgController strings = deliveryDemandService.getShip(); return Result.OK(strings); } + + /** + * 获取发货明细 + * @return + */ + @GetMapping(value = "/getShipDetail") + public Result getShipDetail(String invoice) { + List demandDetails = deliveryDemandService.getShipDetail(invoice); + return Result.OK(demandDetails); + } } diff --git a/jeecg-boot/jeecg-module-tms/src/main/java/org/jeecg/modules/tms/outbound/deliverydemand/entity/DeliveryDemand.java b/jeecg-boot/jeecg-module-tms/src/main/java/org/jeecg/modules/tms/outbound/deliverydemand/entity/DeliveryDemand.java index 9d212a5..6b3ddc1 100644 --- a/jeecg-boot/jeecg-module-tms/src/main/java/org/jeecg/modules/tms/outbound/deliverydemand/entity/DeliveryDemand.java +++ b/jeecg-boot/jeecg-module-tms/src/main/java/org/jeecg/modules/tms/outbound/deliverydemand/entity/DeliveryDemand.java @@ -4,12 +4,12 @@ import java.io.Serializable; import java.io.UnsupportedEncodingException; import java.util.Date; import java.math.BigDecimal; -import com.baomidou.mybatisplus.annotation.IdType; -import com.baomidou.mybatisplus.annotation.TableId; -import com.baomidou.mybatisplus.annotation.TableName; -import com.baomidou.mybatisplus.annotation.TableLogic; +import java.util.List; + +import com.baomidou.mybatisplus.annotation.*; import lombok.Data; import com.fasterxml.jackson.annotation.JsonFormat; +import org.jeecg.modules.tms.outbound.deliverydemanddetail.entity.DeliveryDemandDetail; import org.springframework.format.annotation.DateTimeFormat; import org.jeecgframework.poi.excel.annotation.Excel; import org.jeecg.common.aspect.annotation.Dict; @@ -61,11 +61,11 @@ public class DeliveryDemand implements Serializable { @ApiModelProperty(value = "发货类型") private java.lang.String shipType; /**料号*/ - @Excel(name = "料号", width = 15) +// @Excel(name = "料号", width = 15) @ApiModelProperty(value = "料号") private java.lang.String pn; /**规格*/ - @Excel(name = "规格", width = 15) +// @Excel(name = "规格", width = 15) @ApiModelProperty(value = "规格") private java.lang.String spec; /**发货数量*/ @@ -73,7 +73,7 @@ public class DeliveryDemand implements Serializable { @ApiModelProperty(value = "发货数量") private java.lang.Integer shipNumber; /**单位*/ - @Excel(name = "单位", width = 15, dicCode = "unit") +// @Excel(name = "单位", width = 15, dicCode = "unit") @Dict(dicCode = "unit") @ApiModelProperty(value = "单位") private java.lang.String unit; @@ -87,6 +87,12 @@ public class DeliveryDemand implements Serializable { @DateTimeFormat(pattern="yyyy-MM-dd") @ApiModelProperty(value = "发货时间") private java.util.Date shipDate; + /**到货时间*/ + @Excel(name = "到货时间", width = 20, format = "yyyy-MM-dd") + @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd") + @DateTimeFormat(pattern="yyyy-MM-dd") + @ApiModelProperty(value = "到货时间") + private java.util.Date deliveryDate; /**送货地点*/ @Excel(name = "送货地点", width = 15, dicCode = "delivery_address") @Dict(dicCode = "delivery_address") @@ -98,11 +104,11 @@ public class DeliveryDemand implements Serializable { @ApiModelProperty(value = "取货仓库") private java.lang.String pickUpHub; /**发货单*/ - @Excel(name = "发货单", width = 15) +// @Excel(name = "发货单", width = 15) @ApiModelProperty(value = "发货单") private java.lang.String invoice; /**销售人员*/ - @Excel(name = "销售人员", width = 15) +// @Excel(name = "销售人员", width = 15) @ApiModelProperty(value = "销售人员") private java.lang.String salesperson; /**作业备注*/ @@ -119,4 +125,6 @@ public class DeliveryDemand implements Serializable { @Excel(name = "用车需求编号", width = 15) @ApiModelProperty(value = "用车需求编号") private String vdNo; + @TableField(exist = false) + private List deliveryDemandDetailList; } diff --git a/jeecg-boot/jeecg-module-tms/src/main/java/org/jeecg/modules/tms/outbound/deliverydemand/mapper/DeliveryDemandMapper.java b/jeecg-boot/jeecg-module-tms/src/main/java/org/jeecg/modules/tms/outbound/deliverydemand/mapper/DeliveryDemandMapper.java index fa1f8e0..c36d29b 100644 --- a/jeecg-boot/jeecg-module-tms/src/main/java/org/jeecg/modules/tms/outbound/deliverydemand/mapper/DeliveryDemandMapper.java +++ b/jeecg-boot/jeecg-module-tms/src/main/java/org/jeecg/modules/tms/outbound/deliverydemand/mapper/DeliveryDemandMapper.java @@ -3,10 +3,10 @@ package org.jeecg.modules.tms.outbound.deliverydemand.mapper; import java.util.Date; import java.util.List; -import com.baomidou.dynamic.datasource.annotation.DS; import org.apache.ibatis.annotations.Param; import org.jeecg.modules.tms.outbound.deliverydemand.entity.DeliveryDemand; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.jeecg.modules.tms.outbound.deliverydemanddetail.entity.DeliveryDemandDetail; /** * @Description: 发货需求 @@ -29,4 +29,6 @@ public interface DeliveryDemandMapper extends BaseMapper { void updateByVdNo(String vdNo, String currentStatus); List getShip(); + + List getShipDetail(String invoice); } diff --git a/jeecg-boot/jeecg-module-tms/src/main/java/org/jeecg/modules/tms/outbound/deliverydemand/mapper/xml/DeliveryDemandMapper.xml b/jeecg-boot/jeecg-module-tms/src/main/java/org/jeecg/modules/tms/outbound/deliverydemand/mapper/xml/DeliveryDemandMapper.xml index f0a1099..444c57a 100644 --- a/jeecg-boot/jeecg-module-tms/src/main/java/org/jeecg/modules/tms/outbound/deliverydemand/mapper/xml/DeliveryDemandMapper.xml +++ b/jeecg-boot/jeecg-module-tms/src/main/java/org/jeecg/modules/tms/outbound/deliverydemand/mapper/xml/DeliveryDemandMapper.xml @@ -20,5 +20,16 @@ + + diff --git a/jeecg-boot/jeecg-module-tms/src/main/java/org/jeecg/modules/tms/outbound/deliverydemand/service/IDeliveryDemandService.java b/jeecg-boot/jeecg-module-tms/src/main/java/org/jeecg/modules/tms/outbound/deliverydemand/service/IDeliveryDemandService.java index 8919267..1f99d63 100644 --- a/jeecg-boot/jeecg-module-tms/src/main/java/org/jeecg/modules/tms/outbound/deliverydemand/service/IDeliveryDemandService.java +++ b/jeecg-boot/jeecg-module-tms/src/main/java/org/jeecg/modules/tms/outbound/deliverydemand/service/IDeliveryDemandService.java @@ -3,6 +3,7 @@ package org.jeecg.modules.tms.outbound.deliverydemand.service; import org.jeecg.common.api.vo.Result; import org.jeecg.modules.tms.outbound.deliverydemand.entity.DeliveryDemand; import com.baomidou.mybatisplus.extension.service.IService; +import org.jeecg.modules.tms.outbound.deliverydemanddetail.entity.DeliveryDemandDetail; import java.util.List; @@ -23,10 +24,10 @@ public interface IDeliveryDemandService extends IService { /** * 根据料号、规格、发货数量计算托盘数 - * @param deliveryDemand + * @param deliveryDemands * @return */ - Result getPalletsNum(DeliveryDemand deliveryDemand); + Result getPalletsNum(List deliveryDemands); /** * 更新发货需求 @@ -36,4 +37,6 @@ public interface IDeliveryDemandService extends IService { void updateByVdNo(String vdNo, String currentStatus); List getShip(); + + List getShipDetail(String invoice); } diff --git a/jeecg-boot/jeecg-module-tms/src/main/java/org/jeecg/modules/tms/outbound/deliverydemand/service/impl/DeliveryDemandServiceImpl.java b/jeecg-boot/jeecg-module-tms/src/main/java/org/jeecg/modules/tms/outbound/deliverydemand/service/impl/DeliveryDemandServiceImpl.java index ef5320d..b787ce3 100644 --- a/jeecg-boot/jeecg-module-tms/src/main/java/org/jeecg/modules/tms/outbound/deliverydemand/service/impl/DeliveryDemandServiceImpl.java +++ b/jeecg-boot/jeecg-module-tms/src/main/java/org/jeecg/modules/tms/outbound/deliverydemand/service/impl/DeliveryDemandServiceImpl.java @@ -8,10 +8,12 @@ import lombok.RequiredArgsConstructor; import org.jeecg.common.api.vo.Result; import org.jeecg.modules.tms.basicdata.constant.GeneralSequenceConstant; import org.jeecg.modules.tms.basicdata.generalsequence.service.IGeneralSequenceService; +import org.jeecg.modules.tms.basicdata.vehicleproduct.entity.TmsVehicleProduct; import org.jeecg.modules.tms.basicdata.vehicleproduct.mapper.TmsVehicleProductMapper; import org.jeecg.modules.tms.outbound.deliverydemand.entity.DeliveryDemand; import org.jeecg.modules.tms.outbound.deliverydemand.mapper.DeliveryDemandMapper; import org.jeecg.modules.tms.outbound.deliverydemand.service.IDeliveryDemandService; +import org.jeecg.modules.tms.outbound.deliverydemanddetail.entity.DeliveryDemandDetail; import org.jeecg.modules.tms.outbound.vehicledemand.entity.VehicleDemand; import org.jeecg.modules.tms.outbound.vehicledemand.service.IVehicleDemandService; import org.springframework.stereotype.Service; @@ -107,17 +109,22 @@ public class DeliveryDemandServiceImpl extends ServiceImpl getPalletsNum(DeliveryDemand deliveryDemand) { - Integer qty = vehicleProductMapper.getQty(deliveryDemand.getPn(), deliveryDemand.getSpec()); - if (qty == null) { - return Result.error("数据为空"); - } - BigDecimal dividend = new BigDecimal(deliveryDemand.getShipNumber()); - BigDecimal divisor = new BigDecimal(qty); + public Result getPalletsNum(List deliveryDemands) { + BigDecimal results = BigDecimal.ZERO; + for (DeliveryDemand deliveryDemand: deliveryDemands) { + Integer qty = vehicleProductMapper.getQty(deliveryDemand.getPn()); + if (qty == null) { +// return Result.error("数据为空"); + continue; + } + BigDecimal dividend = new BigDecimal(deliveryDemand.getShipNumber()); + BigDecimal divisor = new BigDecimal(qty); - // 向上取整 - BigDecimal result = dividend.divide(divisor, 0, RoundingMode.CEILING); - return Result.OK(result); + // 向上取整 + BigDecimal result = dividend.divide(divisor, 0, RoundingMode.CEILING); + results = results.add(result); + } + return Result.OK(results); } @Override @@ -133,4 +140,10 @@ public class DeliveryDemandServiceImpl extends ServiceImpl getShip() { return deliveryDemandMapper.getShip(); } + + @DS("wms") + @Override + public List getShipDetail(String invoice) { + return deliveryDemandMapper.getShipDetail(invoice); + } } diff --git a/jeecg-boot/jeecg-module-tms/src/main/java/org/jeecg/modules/tms/outbound/deliverydemanddetail/controller/DeliveryDemandDetailController.java b/jeecg-boot/jeecg-module-tms/src/main/java/org/jeecg/modules/tms/outbound/deliverydemanddetail/controller/DeliveryDemandDetailController.java new file mode 100644 index 0000000..e6d8dd9 --- /dev/null +++ b/jeecg-boot/jeecg-module-tms/src/main/java/org/jeecg/modules/tms/outbound/deliverydemanddetail/controller/DeliveryDemandDetailController.java @@ -0,0 +1,186 @@ +package org.jeecg.modules.tms.outbound.deliverydemanddetail.controller; + +import java.util.Arrays; +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; +import java.io.IOException; +import java.io.UnsupportedEncodingException; +import java.net.URLDecoder; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import org.jeecg.common.api.vo.Result; +import org.jeecg.common.system.query.QueryGenerator; +import org.jeecg.common.util.oConvertUtils; +import org.jeecg.modules.tms.outbound.deliverydemanddetail.entity.DeliveryDemandDetail; +import org.jeecg.modules.tms.outbound.deliverydemanddetail.service.IDeliveryDemandDetailService; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import lombok.extern.slf4j.Slf4j; + +import org.jeecgframework.poi.excel.ExcelImportUtil; +import org.jeecgframework.poi.excel.def.NormalExcelConstants; +import org.jeecgframework.poi.excel.entity.ExportParams; +import org.jeecgframework.poi.excel.entity.ImportParams; +import org.jeecgframework.poi.excel.view.JeecgEntityExcelView; +import org.jeecg.common.system.base.controller.JeecgController; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; +import org.springframework.web.multipart.MultipartHttpServletRequest; +import org.springframework.web.servlet.ModelAndView; +import com.alibaba.fastjson.JSON; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.jeecg.common.aspect.annotation.AutoLog; + + /** + * @Description: 发货需求明细 + * @Author: jeecg-boot + * @Date: 2025-06-09 + * @Version: V1.0 + */ +@Api(tags="发货需求明细") +@RestController +@RequestMapping("/deliverydemanddetail/deliveryDemandDetail") +@Slf4j +public class DeliveryDemandDetailController extends JeecgController { + @Autowired + private IDeliveryDemandDetailService deliveryDemandDetailService; + + /** + * 分页列表查询 + * + * @param deliveryDemandDetail + * @param pageNo + * @param pageSize + * @param req + * @return + */ + //@AutoLog(value = "发货需求明细-分页列表查询") + @ApiOperation(value="发货需求明细-分页列表查询", notes="发货需求明细-分页列表查询") + @GetMapping(value = "/list") + public Result> queryPageList(DeliveryDemandDetail deliveryDemandDetail, + @RequestParam(name="pageNo", defaultValue="1") Integer pageNo, + @RequestParam(name="pageSize", defaultValue="10") Integer pageSize, + HttpServletRequest req) { + QueryWrapper queryWrapper = QueryGenerator.initQueryWrapper(deliveryDemandDetail, req.getParameterMap()); + Page page = new Page(pageNo, pageSize); + IPage pageList = deliveryDemandDetailService.page(page, queryWrapper); + return Result.OK(pageList); + } + + /** + * 添加 + * + * @param deliveryDemandDetail + * @return + */ + @AutoLog(value = "发货需求明细-添加") + @ApiOperation(value="发货需求明细-添加", notes="发货需求明细-添加") + //@RequiresPermissions("org.jeecg.modules.tms:tms_delivery_demand_detail:add") + @PostMapping(value = "/add") + public Result add(@RequestBody DeliveryDemandDetail deliveryDemandDetail) { + deliveryDemandDetailService.save(deliveryDemandDetail); + return Result.OK("添加成功!"); + } + + /** + * 编辑 + * + * @param deliveryDemandDetail + * @return + */ + @AutoLog(value = "发货需求明细-编辑") + @ApiOperation(value="发货需求明细-编辑", notes="发货需求明细-编辑") + //@RequiresPermissions("org.jeecg.modules.tms:tms_delivery_demand_detail:edit") + @RequestMapping(value = "/edit", method = {RequestMethod.PUT,RequestMethod.POST}) + public Result edit(@RequestBody DeliveryDemandDetail deliveryDemandDetail) { + deliveryDemandDetailService.updateById(deliveryDemandDetail); + return Result.OK("编辑成功!"); + } + + /** + * 通过id删除 + * + * @param id + * @return + */ + @AutoLog(value = "发货需求明细-通过id删除") + @ApiOperation(value="发货需求明细-通过id删除", notes="发货需求明细-通过id删除") + //@RequiresPermissions("org.jeecg.modules.tms:tms_delivery_demand_detail:delete") + @DeleteMapping(value = "/delete") + public Result delete(@RequestParam(name="id",required=true) String id) { + deliveryDemandDetailService.removeById(id); + return Result.OK("删除成功!"); + } + + /** + * 批量删除 + * + * @param ids + * @return + */ + @AutoLog(value = "发货需求明细-批量删除") + @ApiOperation(value="发货需求明细-批量删除", notes="发货需求明细-批量删除") + //@RequiresPermissions("org.jeecg.modules.tms:tms_delivery_demand_detail:deleteBatch") + @DeleteMapping(value = "/deleteBatch") + public Result deleteBatch(@RequestParam(name="ids",required=true) String ids) { + this.deliveryDemandDetailService.removeByIds(Arrays.asList(ids.split(","))); + return Result.OK("批量删除成功!"); + } + + /** + * 通过id查询 + * + * @param id + * @return + */ + //@AutoLog(value = "发货需求明细-通过id查询") + @ApiOperation(value="发货需求明细-通过id查询", notes="发货需求明细-通过id查询") + @GetMapping(value = "/queryById") + public Result queryById(@RequestParam(name="id",required=true) String id) { + DeliveryDemandDetail deliveryDemandDetail = deliveryDemandDetailService.getById(id); + if(deliveryDemandDetail==null) { + return Result.error("未找到对应数据"); + } + return Result.OK(deliveryDemandDetail); + } + + /** + * 导出excel + * + * @param request + * @param deliveryDemandDetail + */ + //@RequiresPermissions("org.jeecg.modules.tms:tms_delivery_demand_detail:exportXls") + @RequestMapping(value = "/exportXls") + public ModelAndView exportXls(HttpServletRequest request, DeliveryDemandDetail deliveryDemandDetail) { + return super.exportXls(request, deliveryDemandDetail, DeliveryDemandDetail.class, "发货需求明细"); + } + + /** + * 通过excel导入数据 + * + * @param request + * @param response + * @return + */ + //@RequiresPermissions("tms_delivery_demand_detail:importExcel") + @RequestMapping(value = "/importExcel", method = RequestMethod.POST) + public Result importExcel(HttpServletRequest request, HttpServletResponse response) { + return super.importExcel(request, response, DeliveryDemandDetail.class); + } + + @GetMapping(value = "/queryByDeliveryDemandId") + public Result queryByDeliveryDemandId(@RequestParam(name="deliveryDemandId",required=true) String deliveryDemandId) { + LambdaQueryWrapper lambdaQueryWrapper = new LambdaQueryWrapper<>(); + lambdaQueryWrapper.eq(DeliveryDemandDetail::getDeliveryDemandId, deliveryDemandId); + List list = deliveryDemandDetailService.list(lambdaQueryWrapper); + return Result.OK(list); + } +} diff --git a/jeecg-boot/jeecg-module-tms/src/main/java/org/jeecg/modules/tms/outbound/deliverydemanddetail/entity/DeliveryDemandDetail.java b/jeecg-boot/jeecg-module-tms/src/main/java/org/jeecg/modules/tms/outbound/deliverydemanddetail/entity/DeliveryDemandDetail.java new file mode 100644 index 0000000..bafb378 --- /dev/null +++ b/jeecg-boot/jeecg-module-tms/src/main/java/org/jeecg/modules/tms/outbound/deliverydemanddetail/entity/DeliveryDemandDetail.java @@ -0,0 +1,94 @@ +package org.jeecg.modules.tms.outbound.deliverydemanddetail.entity; + +import java.io.Serializable; +import java.io.UnsupportedEncodingException; +import java.util.Date; +import java.math.BigDecimal; + +import com.baomidou.mybatisplus.annotation.*; +import lombok.Data; +import com.fasterxml.jackson.annotation.JsonFormat; +import org.springframework.format.annotation.DateTimeFormat; +import org.jeecgframework.poi.excel.annotation.Excel; +import org.jeecg.common.aspect.annotation.Dict; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +/** + * @Description: 发货需求明细 + * @Author: jeecg-boot + * @Date: 2025-06-09 + * @Version: V1.0 + */ +@Data +@TableName("tms_delivery_demand_detail") +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) +@ApiModel(value="tms_delivery_demand_detail对象", description="发货需求明细") +public class DeliveryDemandDetail implements Serializable { + private static final long serialVersionUID = 1L; + + /**主键*/ + @TableId(type = IdType.ASSIGN_ID) + @ApiModelProperty(value = "主键") + private String id; + /**创建人*/ + @ApiModelProperty(value = "创建人") + private String createBy; + /**创建日期*/ + @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") + @ApiModelProperty(value = "创建日期") + private Date createTime; + /**更新人*/ + @ApiModelProperty(value = "更新人") + private String updateBy; + /**更新日期*/ + @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") + @ApiModelProperty(value = "更新日期") + private Date updateTime; + /**所属部门*/ + @ApiModelProperty(value = "所属部门") + private String sysOrgCode; + /**发货单*/ + @Excel(name = "发货单", width = 15) + @ApiModelProperty(value = "发货单") + private String invoice; + /**取货仓库*/ + @Excel(name = "取货仓库", width = 15) + @ApiModelProperty(value = "取货仓库") + private String pickUpHub; + /**取货仓库编码*/ + @Excel(name = "取货仓库编码", width = 15) + @ApiModelProperty(value = "取货仓库编码") + private String pickUpHubCode; + /**料号*/ + @Excel(name = "料号", width = 15) + @ApiModelProperty(value = "料号") + private String pn; + /**品名*/ + @Excel(name = "品名", width = 15) + @ApiModelProperty(value = "品名") + private String productName; + /**规格*/ + @Excel(name = "规格", width = 15) + @ApiModelProperty(value = "规格") + private String specName; + /**发货数量*/ + @Excel(name = "发货数量", width = 15) + @ApiModelProperty(value = "发货数量") + private BigDecimal shipNumber; + /**单位*/ + @Excel(name = "单位", width = 15) + @ApiModelProperty(value = "单位") + private String unit; + /**发货需求id*/ + @Excel(name = "发货需求id", width = 15) + @ApiModelProperty(value = "发货需求id") + private String deliveryDemandId; + @TableField(exist = false) + private Boolean selected = false; +} diff --git a/jeecg-boot/jeecg-module-tms/src/main/java/org/jeecg/modules/tms/outbound/deliverydemanddetail/mapper/DeliveryDemandDetailMapper.java b/jeecg-boot/jeecg-module-tms/src/main/java/org/jeecg/modules/tms/outbound/deliverydemanddetail/mapper/DeliveryDemandDetailMapper.java new file mode 100644 index 0000000..eb76799 --- /dev/null +++ b/jeecg-boot/jeecg-module-tms/src/main/java/org/jeecg/modules/tms/outbound/deliverydemanddetail/mapper/DeliveryDemandDetailMapper.java @@ -0,0 +1,17 @@ +package org.jeecg.modules.tms.outbound.deliverydemanddetail.mapper; + +import java.util.List; + +import org.apache.ibatis.annotations.Param; +import org.jeecg.modules.tms.outbound.deliverydemanddetail.entity.DeliveryDemandDetail; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** + * @Description: 发货需求明细 + * @Author: jeecg-boot + * @Date: 2025-06-09 + * @Version: V1.0 + */ +public interface DeliveryDemandDetailMapper extends BaseMapper { + +} diff --git a/jeecg-boot/jeecg-module-tms/src/main/java/org/jeecg/modules/tms/outbound/deliverydemanddetail/mapper/xml/DeliveryDemandDetailMapper.xml b/jeecg-boot/jeecg-module-tms/src/main/java/org/jeecg/modules/tms/outbound/deliverydemanddetail/mapper/xml/DeliveryDemandDetailMapper.xml new file mode 100644 index 0000000..8b92504 --- /dev/null +++ b/jeecg-boot/jeecg-module-tms/src/main/java/org/jeecg/modules/tms/outbound/deliverydemanddetail/mapper/xml/DeliveryDemandDetailMapper.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/jeecg-boot/jeecg-module-tms/src/main/java/org/jeecg/modules/tms/outbound/deliverydemanddetail/service/IDeliveryDemandDetailService.java b/jeecg-boot/jeecg-module-tms/src/main/java/org/jeecg/modules/tms/outbound/deliverydemanddetail/service/IDeliveryDemandDetailService.java new file mode 100644 index 0000000..06d19b7 --- /dev/null +++ b/jeecg-boot/jeecg-module-tms/src/main/java/org/jeecg/modules/tms/outbound/deliverydemanddetail/service/IDeliveryDemandDetailService.java @@ -0,0 +1,14 @@ +package org.jeecg.modules.tms.outbound.deliverydemanddetail.service; + +import org.jeecg.modules.tms.outbound.deliverydemanddetail.entity.DeliveryDemandDetail; +import com.baomidou.mybatisplus.extension.service.IService; + +/** + * @Description: 发货需求明细 + * @Author: jeecg-boot + * @Date: 2025-06-09 + * @Version: V1.0 + */ +public interface IDeliveryDemandDetailService extends IService { + +} diff --git a/jeecg-boot/jeecg-module-tms/src/main/java/org/jeecg/modules/tms/outbound/deliverydemanddetail/service/impl/DeliveryDemandDetailServiceImpl.java b/jeecg-boot/jeecg-module-tms/src/main/java/org/jeecg/modules/tms/outbound/deliverydemanddetail/service/impl/DeliveryDemandDetailServiceImpl.java new file mode 100644 index 0000000..19491f0 --- /dev/null +++ b/jeecg-boot/jeecg-module-tms/src/main/java/org/jeecg/modules/tms/outbound/deliverydemanddetail/service/impl/DeliveryDemandDetailServiceImpl.java @@ -0,0 +1,19 @@ +package org.jeecg.modules.tms.outbound.deliverydemanddetail.service.impl; + +import org.jeecg.modules.tms.outbound.deliverydemanddetail.entity.DeliveryDemandDetail; +import org.jeecg.modules.tms.outbound.deliverydemanddetail.mapper.DeliveryDemandDetailMapper; +import org.jeecg.modules.tms.outbound.deliverydemanddetail.service.IDeliveryDemandDetailService; +import org.springframework.stereotype.Service; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; + +/** + * @Description: 发货需求明细 + * @Author: jeecg-boot + * @Date: 2025-06-09 + * @Version: V1.0 + */ +@Service +public class DeliveryDemandDetailServiceImpl extends ServiceImpl implements IDeliveryDemandDetailService { + +}