no message
							parent
							
								
									9b9453fe11
								
							
						
					
					
						commit
						bcef8c2859
					
				| 
						 | 
				
			
			@ -5,6 +5,8 @@ import lombok.Data;
 | 
			
		|||
 | 
			
		||||
@Data
 | 
			
		||||
public class ItemDate {
 | 
			
		||||
    @ApiModelProperty(value ="行号",required = true,example = "行号")
 | 
			
		||||
    int lineNo;
 | 
			
		||||
    @ApiModelProperty(value ="物料代码",required = true,example = "物料代码")
 | 
			
		||||
    String itemCode;
 | 
			
		||||
    @ApiModelProperty(value ="物料名称",required = true,example = "物料名称")
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -8,12 +8,15 @@ import java.util.Set;
 | 
			
		|||
 | 
			
		||||
@Data
 | 
			
		||||
public class ZcData {
 | 
			
		||||
    @ApiModelProperty(value ="行号",required = true,example = "行号")
 | 
			
		||||
    int lineNo;
 | 
			
		||||
    @ApiModelProperty(value ="总成代码",required = true,example = "总成代码")
 | 
			
		||||
    String completeCode;
 | 
			
		||||
    @ApiModelProperty(value ="总成名称",required = true,example = "总成名称")
 | 
			
		||||
    String completeName;
 | 
			
		||||
    @ApiModelProperty(value ="总成套数",required = true,example = "总成套数")
 | 
			
		||||
    double completeQty=0d;
 | 
			
		||||
 | 
			
		||||
    @ApiModelProperty(value ="总成明细",required = true)
 | 
			
		||||
    Set<ItemDate> blzcmx;
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -51,15 +51,18 @@ public class GdDetail  extends BaseEntity implements Serializable {
 | 
			
		|||
    private Gd gd;
 | 
			
		||||
    @Column(name = "`line_no`")
 | 
			
		||||
    @ApiModelProperty(value = "行号")
 | 
			
		||||
    private Long lineNo;
 | 
			
		||||
    private int lineNo;
 | 
			
		||||
 | 
			
		||||
    @OneToOne
 | 
			
		||||
    @JoinColumn(name = "`item_id`",nullable = false)
 | 
			
		||||
    @ApiModelProperty(value = "单品物料")
 | 
			
		||||
    private Item item;
 | 
			
		||||
    @Column(name = "`item_qty`")
 | 
			
		||||
    @ApiModelProperty(value = "订单数量")
 | 
			
		||||
    @ApiModelProperty(value = "单品数量")
 | 
			
		||||
    private Double itemQty=0d;
 | 
			
		||||
    @Column(name = "`order_qty`")
 | 
			
		||||
    @ApiModelProperty(value = "未拆分数量")
 | 
			
		||||
    private Double orderQty=0d;
 | 
			
		||||
 | 
			
		||||
    @OneToOne
 | 
			
		||||
    @JoinColumn(name = "`big_item_id`",nullable = true)
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -45,9 +45,11 @@ public class PickDetail  extends BaseEntity implements Serializable {
 | 
			
		|||
    @ApiModelProperty(value = "ID")
 | 
			
		||||
    private Long id;
 | 
			
		||||
 | 
			
		||||
    @Column(name = "`pick_id`")
 | 
			
		||||
    @ApiModelProperty(value = "订单序号")
 | 
			
		||||
    private Long pickId;
 | 
			
		||||
    @OneToOne
 | 
			
		||||
    @JoinColumn(name = "`pick_id`",nullable = false)
 | 
			
		||||
    @NotNull
 | 
			
		||||
    @ApiModelProperty(value = "出库单")
 | 
			
		||||
    private Pick pick;
 | 
			
		||||
 | 
			
		||||
    @OneToOne
 | 
			
		||||
    @JoinColumn(name = "`item_id`",nullable = false)
 | 
			
		||||
| 
						 | 
				
			
			@ -56,8 +58,8 @@ public class PickDetail  extends BaseEntity implements Serializable {
 | 
			
		|||
    private Item item;
 | 
			
		||||
 | 
			
		||||
    @Column(name = "`line_no`")
 | 
			
		||||
    @ApiModelProperty(value = "行号")
 | 
			
		||||
    private Long lineNo;
 | 
			
		||||
    @ApiModelProperty(value = "封包系数")
 | 
			
		||||
    private int lineNo;
 | 
			
		||||
 | 
			
		||||
    @Column(name = "`po`")
 | 
			
		||||
    @ApiModelProperty(value = "po订单号")
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -32,6 +32,8 @@ public interface GdDetailRepository extends JpaRepository<GdDetail, Long>, JpaSp
 | 
			
		|||
    @Query(value = "SELECT g FROM GdDetail g WHERE g.gd.id=?1 " +
 | 
			
		||||
            " and (?2=null or g.bigItem.id=?2) and g.item.id=?3 and g.orderType=?4", nativeQuery = false)
 | 
			
		||||
    List<GdDetail> findRepeat(Long gdId, Long bigItemId, Long itemId,String orderType);
 | 
			
		||||
    @Query(value = "SELECT g FROM GdDetail g WHERE g.gd.id=?1 ", nativeQuery = false)
 | 
			
		||||
    List<GdDetail> findByGd(Long gdId);
 | 
			
		||||
    @Query(value = "SELECT g FROM GdDetail g WHERE g.gd.id=?1 and g.orderQty>0", nativeQuery = false)
 | 
			
		||||
    List<GdDetail> findByGdAndQty(Long gdId);
 | 
			
		||||
    @Query(value = "SELECT g FROM GdDetail g WHERE g.bigItem.id=?1 ", nativeQuery = false)
 | 
			
		||||
    List<GdDetail> findByBigItem(Long bigItemId);
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -52,4 +52,6 @@ public interface PickDetailRepository extends JpaRepository<PickDetail, Long>, J
 | 
			
		|||
            " UNION select a.* from data_pick_detail a INNER JOIN base_item b on a.item_id = b.id " +
 | 
			
		||||
            "WHERE b.name = '前桶' and a.create_time > :time ", nativeQuery = true)
 | 
			
		||||
    List<PickDetail> queryOutQHAllData(String time);
 | 
			
		||||
    @Query(value = "SELECT p FROM PickDetail p WHERE p.pick.id=?1 and p.item.id=?2", nativeQuery = false)
 | 
			
		||||
    List<PickDetail> findRepeat(Long pickId, Long itemId);
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -18,6 +18,9 @@ package com.youchain.businessdata.repository;
 | 
			
		|||
import com.youchain.businessdata.domain.Pick;
 | 
			
		||||
import org.springframework.data.jpa.repository.JpaRepository;
 | 
			
		||||
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
 | 
			
		||||
import org.springframework.data.jpa.repository.Query;
 | 
			
		||||
 | 
			
		||||
import java.util.List;
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
* @website https://eladmin.vip
 | 
			
		||||
| 
						 | 
				
			
			@ -25,4 +28,6 @@ import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
 | 
			
		|||
* @date 2024-06-11
 | 
			
		||||
**/
 | 
			
		||||
public interface PickRepository extends JpaRepository<Pick, Long>, JpaSpecificationExecutor<Pick> {
 | 
			
		||||
    @Query(value = "SELECT p FROM Pick p WHERE p.gdDetail.id=?1 and p.lineNo=?2", nativeQuery = false)
 | 
			
		||||
    List<Pick> findRepeat(long gdDetailId,int no);
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -66,7 +66,7 @@ public class MesController {
 | 
			
		|||
                    /* 验证BOM*/
 | 
			
		||||
                    BigBom bigBom=verifiedBigBom(bigItem,item,itemDate.getItemQty());
 | 
			
		||||
                    /* 添加工单明细*/
 | 
			
		||||
                    GdDetail gdDetail = gdDetailService.save(gd,orderType,bigItem,zcData.getCompleteQty(),item,itemDate.getItemQty());
 | 
			
		||||
                    GdDetail gdDetail = gdDetailService.save(zcData.getLineNo(),gd,orderType,bigItem,zcData.getCompleteQty(),item,itemDate.getItemQty(),itemDate.getItemQty()*zcData.getCompleteQty());
 | 
			
		||||
                }
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
| 
						 | 
				
			
			@ -77,7 +77,7 @@ public class MesController {
 | 
			
		|||
                /* 验证单品物料*/
 | 
			
		||||
                Item item=verifiedItem(itemDate.getItemCode(),itemDate.getItemName());
 | 
			
		||||
                /* 添加工单明细*/
 | 
			
		||||
                GdDetail gdDetail = gdDetailService.save(gd,orderType,null,null,item,itemDate.getItemQty());
 | 
			
		||||
                GdDetail gdDetail = gdDetailService.save(itemDate.getLineNo(),gd,orderType,null,null,item,itemDate.getItemQty(),itemDate.getItemQty());
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
        /* 生成 出库明细*/
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -86,13 +86,15 @@ public interface GdDetailService {
 | 
			
		|||
 | 
			
		||||
    /**
 | 
			
		||||
     * 添加工单明细
 | 
			
		||||
     * @param lineNo 行号
 | 
			
		||||
     * @param gd 工单
 | 
			
		||||
     * @param orderType 分配类型 成套,单品
 | 
			
		||||
     * @param bigItem 成套 物料
 | 
			
		||||
     * @param completeQty 成套数
 | 
			
		||||
     * @param item 单品物料
 | 
			
		||||
     * @param itemQty 每套单品数
 | 
			
		||||
     * @param orderQty 未拆分数量
 | 
			
		||||
     * @return
 | 
			
		||||
     */
 | 
			
		||||
    GdDetail save(Gd gd, String orderType, BigItem bigItem, Double completeQty, Item item, Double itemQty);
 | 
			
		||||
    GdDetail save(int lineNo,Gd gd, String orderType, BigItem bigItem, Double completeQty, Item item, Double itemQty,Double orderQty);
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -17,6 +17,7 @@ package com.youchain.businessdata.service.dto;
 | 
			
		|||
 | 
			
		||||
import com.youchain.basicdata.domain.BigItem;
 | 
			
		||||
import com.youchain.basicdata.domain.Item;
 | 
			
		||||
import com.youchain.businessdata.domain.Gd;
 | 
			
		||||
import lombok.Data;
 | 
			
		||||
import java.sql.Timestamp;
 | 
			
		||||
import java.io.Serializable;
 | 
			
		||||
| 
						 | 
				
			
			@ -46,7 +47,7 @@ public class GdDetailDto implements Serializable {
 | 
			
		|||
    private Timestamp updateTime;
 | 
			
		||||
 | 
			
		||||
    /** 行号 */
 | 
			
		||||
    private Long lineNo;
 | 
			
		||||
    private int lineNo;
 | 
			
		||||
 | 
			
		||||
    /** 关联物料 */
 | 
			
		||||
    private Long itemId;
 | 
			
		||||
| 
						 | 
				
			
			@ -61,6 +62,8 @@ public class GdDetailDto implements Serializable {
 | 
			
		|||
 | 
			
		||||
    /** 总成套数 */
 | 
			
		||||
    private Long bigItemQty;
 | 
			
		||||
    private Gd gd;
 | 
			
		||||
    private Double orderQty;
 | 
			
		||||
 | 
			
		||||
    /** 单据类型 */
 | 
			
		||||
    private String orderType;
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -17,6 +17,7 @@ package com.youchain.businessdata.service.dto;
 | 
			
		|||
 | 
			
		||||
import com.youchain.basicdata.service.dto.ItemDto;
 | 
			
		||||
import com.youchain.basicdata.service.dto.ItemSmallDto;
 | 
			
		||||
import com.youchain.businessdata.domain.Pick;
 | 
			
		||||
import com.youchain.modules.system.domain.Dept;
 | 
			
		||||
import lombok.Data;
 | 
			
		||||
import java.sql.Timestamp;
 | 
			
		||||
| 
						 | 
				
			
			@ -35,13 +36,13 @@ public class PickDetailDto implements Serializable {
 | 
			
		|||
    private Long id;
 | 
			
		||||
 | 
			
		||||
    /** 订单序号 */
 | 
			
		||||
    private Long pickId;
 | 
			
		||||
    private PickDto pick;
 | 
			
		||||
 | 
			
		||||
    /** 物料序号 */
 | 
			
		||||
    private ItemDto item;
 | 
			
		||||
 | 
			
		||||
    /** 行号 */
 | 
			
		||||
    private Long lineNo;
 | 
			
		||||
    /** 封包系数 */
 | 
			
		||||
    private int lineNo;
 | 
			
		||||
 | 
			
		||||
    /** po订单号 */
 | 
			
		||||
    private String po;
 | 
			
		||||
| 
						 | 
				
			
			@ -100,7 +101,7 @@ public class PickDetailDto implements Serializable {
 | 
			
		|||
    /** 来源名称 */
 | 
			
		||||
    private String sourceName;
 | 
			
		||||
 | 
			
		||||
    /** 来源序号 */
 | 
			
		||||
    /** 封包系数 */
 | 
			
		||||
    private Long sourceId;
 | 
			
		||||
 | 
			
		||||
    /** 创建人 */
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -15,6 +15,8 @@
 | 
			
		|||
*/
 | 
			
		||||
package com.youchain.businessdata.service.dto;
 | 
			
		||||
 | 
			
		||||
import com.youchain.businessdata.domain.GdDetail;
 | 
			
		||||
import com.youchain.modules.system.service.dto.DeptDto;
 | 
			
		||||
import lombok.Data;
 | 
			
		||||
import java.sql.Timestamp;
 | 
			
		||||
import java.io.Serializable;
 | 
			
		||||
| 
						 | 
				
			
			@ -45,6 +47,7 @@ public class PickDto implements Serializable {
 | 
			
		|||
 | 
			
		||||
    /** 仓库ID */
 | 
			
		||||
    private Long deptId;
 | 
			
		||||
    private DeptDto dept;
 | 
			
		||||
 | 
			
		||||
    /** 出库单头 */
 | 
			
		||||
    private String code;
 | 
			
		||||
| 
						 | 
				
			
			@ -56,5 +59,6 @@ public class PickDto implements Serializable {
 | 
			
		|||
    private String status;
 | 
			
		||||
 | 
			
		||||
    /** 关联工单明细 */
 | 
			
		||||
    private String gdDetaiId;
 | 
			
		||||
    private Long gdDetailId;
 | 
			
		||||
    private GdDetail gdDetail;
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -114,7 +114,7 @@ public class GdDetailServiceImpl implements GdDetailService {
 | 
			
		|||
    }
 | 
			
		||||
 | 
			
		||||
    @Override
 | 
			
		||||
    public GdDetail save(Gd gd, String orderType, BigItem bigItem, Double completeQty, Item item, Double itemQty) {
 | 
			
		||||
    public GdDetail save(int lineNo,Gd gd, String orderType, BigItem bigItem, Double completeQty, Item item, Double itemQty,Double orderQty) {
 | 
			
		||||
        GdDetail gdDetail= new GdDetail();
 | 
			
		||||
        List<GdDetail> gdList;
 | 
			
		||||
        if (orderType.equals(BaseStatus.GD_TYPE_DP)){
 | 
			
		||||
| 
						 | 
				
			
			@ -126,8 +126,10 @@ public class GdDetailServiceImpl implements GdDetailService {
 | 
			
		|||
            gdDetail=gdList.get(0);
 | 
			
		||||
        }
 | 
			
		||||
        gdDetail.setGd(gd);
 | 
			
		||||
        gdDetail.setLineNo(lineNo);
 | 
			
		||||
        gdDetail.setItem(item);
 | 
			
		||||
        gdDetail.setItemQty(itemQty);
 | 
			
		||||
        gdDetail.setOrderQty(orderQty);
 | 
			
		||||
        gdDetail.setBigItem(bigItem);
 | 
			
		||||
        gdDetail.setBigItemQty(completeQty);
 | 
			
		||||
        gdDetail.setDept(deptService.isDept());
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -34,12 +34,10 @@ import org.springframework.stereotype.Service;
 | 
			
		|||
import org.springframework.transaction.annotation.Transactional;
 | 
			
		||||
import org.springframework.data.domain.Page;
 | 
			
		||||
import org.springframework.data.domain.Pageable;
 | 
			
		||||
import java.util.List;
 | 
			
		||||
import java.util.Map;
 | 
			
		||||
 | 
			
		||||
import java.util.*;
 | 
			
		||||
import java.io.IOException;
 | 
			
		||||
import javax.servlet.http.HttpServletResponse;
 | 
			
		||||
import java.util.ArrayList;
 | 
			
		||||
import java.util.LinkedHashMap;
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
* @website https://eladmin.vip
 | 
			
		||||
| 
						 | 
				
			
			@ -137,13 +135,26 @@ public class GdServiceImpl implements GdService {
 | 
			
		|||
    @Override
 | 
			
		||||
    public void addPickDetail(Gd gd) {
 | 
			
		||||
        int no=1;// 序号
 | 
			
		||||
        List<GdDetail> gdDetailList=gdDetailRepository.findByGd(gd.getId());
 | 
			
		||||
        for(GdDetail gdDetail : gdDetailList) {
 | 
			
		||||
            /*生成出库单*/
 | 
			
		||||
            Pick pick = pickService.save(gdDetail,no);
 | 
			
		||||
            no=no+1;
 | 
			
		||||
            /*生成出库明细*/
 | 
			
		||||
            pickDetailService.save(pick);
 | 
			
		||||
        while (true){
 | 
			
		||||
            List<GdDetail> gdDetailList=gdDetailRepository.findByGdAndQty(gd.getId());
 | 
			
		||||
            if (gdDetailList.size()<1){
 | 
			
		||||
                break;
 | 
			
		||||
            }else {
 | 
			
		||||
                List<Integer> arr=new ArrayList<Integer>();//已分配过的行号
 | 
			
		||||
                for (GdDetail gdDetail : gdDetailList) {
 | 
			
		||||
                    /*本次循环已拆分过 工单明细行*/
 | 
			
		||||
                    if (arr.contains(gdDetail.getLineNo())){
 | 
			
		||||
                        continue;
 | 
			
		||||
                    }
 | 
			
		||||
                    /*生成出库单*/
 | 
			
		||||
                    Pick pick = pickService.save(gdDetail, no);
 | 
			
		||||
                    /* 去重*/
 | 
			
		||||
                    arr.add(gdDetail.getLineNo());
 | 
			
		||||
                    no=no+1;
 | 
			
		||||
                    /*生成出库明细*/
 | 
			
		||||
                    pickDetailService.save(pick);
 | 
			
		||||
                }
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -25,9 +25,7 @@ import com.youchain.basicdata.service.ItemService;
 | 
			
		|||
import com.youchain.basicdata.service.PointService;
 | 
			
		||||
import com.youchain.basicdata.service.dto.ItemDto;
 | 
			
		||||
import com.youchain.businessdata.domain.*;
 | 
			
		||||
import com.youchain.businessdata.repository.AgvTaskRepository;
 | 
			
		||||
import com.youchain.businessdata.repository.InventoryRepository;
 | 
			
		||||
import com.youchain.businessdata.repository.TaskRepository;
 | 
			
		||||
import com.youchain.businessdata.repository.*;
 | 
			
		||||
import com.youchain.businessdata.service.InventoryService;
 | 
			
		||||
import com.youchain.businessdata.service.TaskService;
 | 
			
		||||
import com.youchain.businessdata.service.dto.InventoryDto;
 | 
			
		||||
| 
						 | 
				
			
			@ -36,7 +34,6 @@ import com.youchain.modules.quartz.utils.TimeNumberUtils;
 | 
			
		|||
import com.youchain.modules.system.domain.Dept;
 | 
			
		||||
import com.youchain.utils.*;
 | 
			
		||||
import lombok.RequiredArgsConstructor;
 | 
			
		||||
import com.youchain.businessdata.repository.PickDetailRepository;
 | 
			
		||||
import com.youchain.businessdata.service.PickDetailService;
 | 
			
		||||
import com.youchain.businessdata.service.dto.PickDetailDto;
 | 
			
		||||
import com.youchain.businessdata.service.dto.PickDetailQueryCriteria;
 | 
			
		||||
| 
						 | 
				
			
			@ -67,6 +64,7 @@ import static org.springframework.http.HttpStatus.BAD_REQUEST;
 | 
			
		|||
@RequiredArgsConstructor
 | 
			
		||||
public class PickDetailServiceImpl implements PickDetailService {
 | 
			
		||||
    private final PickDetailRepository pickDetailRepository;
 | 
			
		||||
    private final GdDetailRepository gdDetailRepository;
 | 
			
		||||
    private final PickDetailMapper pickDetailMapper;
 | 
			
		||||
    private final InventoryService inventoryService;
 | 
			
		||||
    private final BoxRepository boxRepository;
 | 
			
		||||
| 
						 | 
				
			
			@ -320,7 +318,7 @@ public class PickDetailServiceImpl implements PickDetailService {
 | 
			
		|||
    public PickDetail createPickDetail(Item item,String po) {
 | 
			
		||||
        PickDetail d= new PickDetail();
 | 
			
		||||
        d.setItem(item);
 | 
			
		||||
        d.setLineNo(1l);
 | 
			
		||||
        d.setLineNo(1);
 | 
			
		||||
        d.setStatus(BizStatus.OPEN);
 | 
			
		||||
        d.setOrderQty(item.getExtendD1());
 | 
			
		||||
        d.setDept(item.getDept());
 | 
			
		||||
| 
						 | 
				
			
			@ -334,7 +332,37 @@ public class PickDetailServiceImpl implements PickDetailService {
 | 
			
		|||
 | 
			
		||||
    @Override
 | 
			
		||||
    public void save(Pick pick) {
 | 
			
		||||
        GdDetail gdDetail=pick.getGdDetail();
 | 
			
		||||
        gdDetail.getItem();
 | 
			
		||||
        List<GdDetail> gdDetailList;
 | 
			
		||||
        if (pick.getGdDetail().getBigItem()!=null) {
 | 
			
		||||
            /* 成套物料 */
 | 
			
		||||
            gdDetailList = gdDetailRepository.findByBigItem(pick.getGdDetail().getBigItem().getId());
 | 
			
		||||
        }else {
 | 
			
		||||
            /* 单品物料*/
 | 
			
		||||
            gdDetailList=new ArrayList<>();
 | 
			
		||||
            gdDetailList.add(pick.getGdDetail());
 | 
			
		||||
        }
 | 
			
		||||
        for (GdDetail gdDetail:gdDetailList){
 | 
			
		||||
            int fb=1;//封包系数
 | 
			
		||||
            PickDetail pickDetail=new PickDetail();
 | 
			
		||||
            List<PickDetail> pickDetailList = pickDetailRepository.findRepeat(pick.getId(),gdDetail.getItem().getId());
 | 
			
		||||
            if (pickDetailList.size()>0){
 | 
			
		||||
                pickDetail=pickDetailList.get(0);
 | 
			
		||||
            }
 | 
			
		||||
            pickDetail.setDept(UserUtils.isDept);
 | 
			
		||||
            pickDetail.setPick(pick);
 | 
			
		||||
            pickDetail.setItem(gdDetail.getItem());
 | 
			
		||||
            if (gdDetail.getBigItem()==null){
 | 
			
		||||
                /*如果为单品物料 默认封包系数10*/
 | 
			
		||||
                fb=10;
 | 
			
		||||
                pickDetail.setOrderQty(1d*fb);
 | 
			
		||||
            }else {
 | 
			
		||||
                pickDetail.setOrderQty(gdDetail.getItemQty()*fb);
 | 
			
		||||
            }
 | 
			
		||||
            pickDetail.setLineNo(fb);
 | 
			
		||||
            pickDetailRepository.save(pickDetail);
 | 
			
		||||
            /*更新待拆分数量*/
 | 
			
		||||
            gdDetail.setOrderQty(gdDetail.getOrderQty()-pickDetail.getOrderQty());
 | 
			
		||||
            gdDetailRepository.save(gdDetail);
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -98,11 +98,9 @@ public class PickServiceImpl implements PickService {
 | 
			
		|||
            map.put("修改人", pick.getUpdateBy());
 | 
			
		||||
            map.put("创建时间", pick.getCreateTime());
 | 
			
		||||
            map.put("修改时间", pick.getUpdateTime());
 | 
			
		||||
            map.put("仓库ID", pick.getDeptId());
 | 
			
		||||
            map.put("出库单头", pick.getCode());
 | 
			
		||||
            map.put("序号", pick.getLineNo());
 | 
			
		||||
            map.put("状态", pick.getStatus());
 | 
			
		||||
            map.put("关联工单明细", pick.getGdDetaiId());
 | 
			
		||||
            list.add(map);
 | 
			
		||||
        }
 | 
			
		||||
        FileUtil.downloadExcel(list, response);
 | 
			
		||||
| 
						 | 
				
			
			@ -111,11 +109,17 @@ public class PickServiceImpl implements PickService {
 | 
			
		|||
    @Override
 | 
			
		||||
    public Pick save(GdDetail gdDetail, int no) {
 | 
			
		||||
        Pick pick=new Pick();
 | 
			
		||||
        List<Pick> pickList = pickRepository.findRepeat(gdDetail.getId(),no);
 | 
			
		||||
        if (pickList.size()>0){
 | 
			
		||||
            pick=pickList.get(0);
 | 
			
		||||
        }
 | 
			
		||||
        pick.setGdDetail(gdDetail);
 | 
			
		||||
        pick.setLineNo(no);
 | 
			
		||||
        pick.setStatus(BizStatus.OPEN);
 | 
			
		||||
        pick.setCode(gdDetail.getGd().getName()+"_"+no);
 | 
			
		||||
        pick.setDept(UserUtils.getDept());
 | 
			
		||||
        pick.setDept(UserUtils.isDept);
 | 
			
		||||
        pickRepository.save(pick);
 | 
			
		||||
 | 
			
		||||
        return pick;
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -0,0 +1,23 @@
 | 
			
		|||
package com.youchain.config.thread;
 | 
			
		||||
 | 
			
		||||
import com.youchain.modules.system.domain.Dept;
 | 
			
		||||
import com.youchain.modules.system.repository.DeptRepository;
 | 
			
		||||
import com.youchain.utils.BaseStatus;
 | 
			
		||||
import com.youchain.utils.UserUtils;
 | 
			
		||||
import org.springframework.beans.factory.annotation.Autowired;
 | 
			
		||||
import org.springframework.stereotype.Component;
 | 
			
		||||
 | 
			
		||||
import javax.annotation.PostConstruct;
 | 
			
		||||
 | 
			
		||||
@Component
 | 
			
		||||
public class BaseComponent {
 | 
			
		||||
    @Autowired
 | 
			
		||||
    private DeptRepository deptRepository;
 | 
			
		||||
    public BaseComponent(){
 | 
			
		||||
 | 
			
		||||
    }
 | 
			
		||||
    @PostConstruct
 | 
			
		||||
    public void configUrlApi(){
 | 
			
		||||
        UserUtils.isDept=deptRepository.findById(7l);
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -16,6 +16,7 @@
 | 
			
		|||
package com.youchain.modules.system.repository;
 | 
			
		||||
 | 
			
		||||
import com.youchain.modules.system.domain.Dept;
 | 
			
		||||
import com.youchain.modules.system.domain.Dict;
 | 
			
		||||
import org.springframework.data.jpa.repository.JpaRepository;
 | 
			
		||||
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
 | 
			
		||||
import org.springframework.data.jpa.repository.Modifying;
 | 
			
		||||
| 
						 | 
				
			
			@ -28,7 +29,8 @@ import java.util.Set;
 | 
			
		|||
* @date 2019-03-25
 | 
			
		||||
*/
 | 
			
		||||
public interface DeptRepository extends JpaRepository<Dept, Long>, JpaSpecificationExecutor<Dept> {
 | 
			
		||||
 | 
			
		||||
    @Query(value = "SELECT d.* FROM sys_dept d WHERE d.dept_id = ?1 ", nativeQuery = true)
 | 
			
		||||
    Dept findById(long id);
 | 
			
		||||
    /**
 | 
			
		||||
     * 根据 PID 查询
 | 
			
		||||
     * @param id pid
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,10 +1,15 @@
 | 
			
		|||
package com.youchain.utils;
 | 
			
		||||
 | 
			
		||||
import com.youchain.modules.system.domain.Dept;
 | 
			
		||||
import org.springframework.stereotype.Service;
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * @website https://eladmin.vip
 | 
			
		||||
 * @author houjianlan
 | 
			
		||||
 * @date 2023-08-16
 | 
			
		||||
 **/
 | 
			
		||||
public  interface BaseStatus {
 | 
			
		||||
@Service
 | 
			
		||||
public  class BaseStatus {
 | 
			
		||||
    /**
 | 
			
		||||
     * 空闲
 | 
			
		||||
     */
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -11,6 +11,7 @@ import org.springframework.stereotype.Service;
 | 
			
		|||
import java.util.List;
 | 
			
		||||
@Slf4j
 | 
			
		||||
public class UserUtils {
 | 
			
		||||
    public static Dept isDept=null;
 | 
			
		||||
    public static Dept getDept(){
 | 
			
		||||
        List<Long> dataScopes = SecurityUtils.getCurrentUserDataScope();
 | 
			
		||||
        Dept dept=new Dept();
 | 
			
		||||
| 
						 | 
				
			
			@ -20,5 +21,6 @@ public class UserUtils {
 | 
			
		|||
            dept.setId(0L);
 | 
			
		||||
        }
 | 
			
		||||
        return dept;
 | 
			
		||||
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue