diff --git a/src/main/java/com/spring/modules/shipment/service/impl/ShipmentRollServiceImpl.java b/src/main/java/com/spring/modules/shipment/service/impl/ShipmentRollServiceImpl.java index 544f0db..51b798c 100644 --- a/src/main/java/com/spring/modules/shipment/service/impl/ShipmentRollServiceImpl.java +++ b/src/main/java/com/spring/modules/shipment/service/impl/ShipmentRollServiceImpl.java @@ -87,22 +87,26 @@ public class ShipmentRollServiceImpl extends ServiceImpl shipmentDetail = shipmentDetailService.lambdaQuery() .eq(ShipmentDetail::getShipmentId, shipmentRollVo.getShipmentId()) .eq(ShipmentDetail::getPartNo, rollData.getPartNo()) .eq(ShipmentDetail::getSite, rollData.getSite()) - .one(); - if (Objects.isNull(shipmentDetail)) { + .list(); + if (Objects.isNull(shipmentDetail) || shipmentDetail.isEmpty()) { throw new RuntimeException("IFS出库单据明细不存在,请刷新后重试"); } // 获取当前物料所需数量 - BigDecimal saleQty = shipmentDetail.getSaleQty(); + BigDecimal saleQty = BigDecimal.ZERO; + for (ShipmentDetail detail : shipmentDetail) { + saleQty = saleQty.add(detail.getSaleQty()); + } // 获得 箱子 卷数 BigDecimal num = saleQty.divide(new BigDecimal(value), 0, RoundingMode.UP); // 获得该物料已经扫描多少卷 Integer count = lambdaQuery() .eq(ShipmentRoll::getShipmentId, shipmentRollVo.getShipmentId()) .eq(ShipmentRoll::getPartNo, rollData.getPartNo()) +// .eq(ShipmentRoll::getBoxNo, shipmentRollVo.getBoxNo()) .eq(ShipmentRoll::getSite, shipmentRollVo.getSite()).count(); BigDecimal needNum = num.subtract(new BigDecimal(count)); if (BigDecimal.ZERO.compareTo(needNum) == 0){ diff --git a/src/main/resources/mapper/material/ProductionStockMapper.xml b/src/main/resources/mapper/material/ProductionStockMapper.xml index 2e41e32..203c666 100644 --- a/src/main/resources/mapper/material/ProductionStockMapper.xml +++ b/src/main/resources/mapper/material/ProductionStockMapper.xml @@ -1,183 +1,361 @@ - + SELECT TransNo, + Site, + WarehouseID, + TransDate, + TransType_DB transTypeDb, + TransType, + UserName, + Receiver, + TransYear, + TransMonth, + PartnerID, + PartnerName, + PartnerType, + AuthorizeFlag, + AuthorizeDate, + Authorizor, + TransferFlag, + TransferDate, + TransferGuys, + VoucherDate, + ProjectID, + ProjectName, + EnterDate, + Remark, + UseLocation, + OrderRef1, + LinkOrderFlag, + DelAddID, + Status, + UserName EnterBy, + dbo.get_user_display(UserName) enterName + , + dbo.get_user_display(Receiver) ReceiverName FROM TransHeader site = #{query.site} - + AND OrderRef1 like #{query.orderRef1} - + AND TransType_DB = #{query.transTypeDb} - + AND TransDate >= #{query.startDate} - - AND #{query.endDate}>=TransDate + + AND #{query.endDate} >= TransDate - - order by TransDate desc + + order by TransDate desc - - - - - - - - - - - - - - insert into TransDetailsub_cach(Site,TransNo,PartNo,RollNo,RollQty,BatchNo,wdrNo,LocationID,ManufactureDate, - ExpiredDate,enterBy,enterDate) - values(#{site},#{transNo},#{partNo},#{rollNo},#{rollQty},#{batchNo},#{wdrNo},#{locationID},#{manufactureDate}, - #{expiredDate},#{enterBy},GetDate()) - - - - - - - - insert into TransDetail(TransNo,Site,ItemNo,PartNo,LocationID,TransQty,Direction,BatchNo,StandCost, - ActualCost,Price,Freight,Duty,OrderRef1,VitualPartFlag,ManufactureDate, - ExpiredDate,TransQty2,wdr_no,enterDate,enterBy) - values(#{transNo},#{site},#{itemNo,jdbcType=DOUBLE},#{partNo},#{locationID},#{transQty},#{direction},#{batchNo},#{standCost}, - #{actualCost},#{price},#{freight},#{duty},#{orderRef1},#{vitualPartFlag},#{manufactureDate}, - #{expiredDate},#{transQty2},#{wdrNo},GetDate(),#{enterBy}) - - - - - insert into TransDetailsub - (TransNo,Site,SeqNo,itemNo,LocationID,BatchNo,BoxNo,RollNo,RollQty,orderRef1) VALUES - - (#{item.transNo}, #{item.site}, #{item.seqNo}, #{item.itemNo}, #{item.locationID}, #{item.batchNo},#{item.boxNo,jdbcType=VARCHAR}, #{item.rollNo,jdbcType=VARCHAR}, #{item.rollQty}, #{item.orderRef1}) - - - - - delete from TransDetailsub_cach where TransNo=#{transNo} and site=#{site} - - - - - - delete from transHeader where site=#{site} and transNo=#{transNo} - - - - update transHeader set WarehouseID=#{warehouseID} ,PartnerID=#{partnerID},Receiver=#{receiver},orderRef1=#{orderRef1},transDate=#{transDate} where site=#{site} and transNo=#{transNo} - - - - - - - update so_final_roll set status_code=#{statusCode,jdbcType=INTEGER},status=#{status} - where site=#{site} and final_roll_no=#{rollNo} - - - + SELECT TransNo, + Site, + ItemNo, + PartNo, + LocationID, + TransQty, + Direction, + BatchNo, + OrderRef1, + OrderRef2, + Remark, + ManufactureDate, + ExpiredDate, + TransQty2, + wdr_no, + enterDate, + enterBy, + dbo.get_part_desc(Site, PartNo) partDesc, + dbo.get_user_display(enterBy) enterName + FROM TransDetail + where site = #{site} + and TransNo = #{transNo} + order by enterDate desc + + + + + + + + + + + + + insert into TransDetailsub_cach(Site, TransNo, PartNo, RollNo, RollQty, BatchNo, wdrNo, LocationID, + ManufactureDate, + ExpiredDate, enterBy, enterDate) + values (#{site}, #{transNo}, #{partNo}, #{rollNo}, #{rollQty}, #{batchNo}, #{wdrNo}, #{locationID}, + #{manufactureDate}, + #{expiredDate}, #{enterBy}, GetDate()) + + + + + + + + insert into TransDetail(TransNo, Site, ItemNo, PartNo, LocationID, TransQty, Direction, BatchNo, StandCost, + ActualCost, Price, Freight, Duty, OrderRef1, VitualPartFlag, ManufactureDate, + ExpiredDate, TransQty2, wdr_no, enterDate, enterBy) + values (#{transNo}, #{site}, #{itemNo,jdbcType=DOUBLE}, #{partNo}, #{locationID}, #{transQty}, #{direction}, + #{batchNo}, #{standCost}, + #{actualCost}, #{price}, #{freight}, #{duty}, #{orderRef1}, #{vitualPartFlag}, #{manufactureDate}, + #{expiredDate}, #{transQty2}, #{wdrNo}, GetDate(), #{enterBy}) + + + + + insert into TransDetailsub + (TransNo, Site, SeqNo, itemNo, LocationID, BatchNo, BoxNo, RollNo, RollQty, orderRef1) VALUES + + (#{item.transNo}, #{item.site}, #{item.seqNo}, #{item.itemNo}, #{item.locationID}, #{item.batchNo}, + #{item.boxNo,jdbcType=VARCHAR}, #{item.rollNo,jdbcType=VARCHAR}, #{item.rollQty}, #{item.orderRef1}) + + + + + delete + from TransDetailsub_cach + where TransNo = #{transNo} + and site = #{site} + + + + + + delete + from transHeader + where site = #{site} + and transNo = #{transNo} + + + + update transHeader + set WarehouseID=#{warehouseID}, + PartnerID=#{partnerID}, + Receiver=#{receiver}, + orderRef1=#{orderRef1}, + transDate=#{transDate} + where site = #{site} + and transNo = #{transNo} + + + + + + + update so_final_roll + set status_code=#{statusCode,jdbcType=INTEGER}, + status=#{status} + where site = #{site} + and final_roll_no = #{rollNo} + + + - + \ No newline at end of file