更新问题
							parent
							
								
									bc7f065b1b
								
							
						
					
					
						commit
						74d7f757f3
					
				| 
						 | 
					@ -198,7 +198,7 @@ public class Item extends BaseEntity implements Serializable {
 | 
				
			||||||
    private String extendStr1;
 | 
					    private String extendStr1;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    @Column(name = "`extend_str2`")
 | 
					    @Column(name = "`extend_str2`")
 | 
				
			||||||
    @ApiModelProperty(value = "扩展字符2")
 | 
					    @ApiModelProperty(value = "扩展字符2,保管期限")
 | 
				
			||||||
    private String extendStr2;
 | 
					    private String extendStr2;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    @Column(name = "`extend_str3`")
 | 
					    @Column(name = "`extend_str3`")
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -97,12 +97,31 @@ public interface BomAccountRepository extends JpaRepository<BomAccount, Long>, J
 | 
				
			||||||
            "left join base_item it on it.id=ba.item_id\n" +
 | 
					            "left join base_item it on it.id=ba.item_id\n" +
 | 
				
			||||||
            "left join base_point point on point.id=ba.z_point_id" +
 | 
					            "left join base_point point on point.id=ba.z_point_id" +
 | 
				
			||||||
            " left join base_area area on area.id=ba.r_area_id" +
 | 
					            " left join base_area area on area.id=ba.r_area_id" +
 | 
				
			||||||
            " where (ba.bp_type=:bp_type or :bp_type is null) and (it.code=:itemCode or :itemCode is null) and (point.code=:hw or :hw is null) " +
 | 
					            " where (ba.bp_type=:bp_type or :bp_type is null) and (it.code=:itemCode or :itemCode is null) and (point.code like CONCAT(:hw, '%') or :hw is null) " +
 | 
				
			||||||
            " and (area.code=:kq or :kq is null)  and (ba.ns=:ns or :ns is null)" +
 | 
					            " and (area.code=:kq or :kq is null)  and (ba.ns=:ns or :ns is null)" +
 | 
				
			||||||
            " and (bi.code=:bigItemCode or :bigItemCode is null)  and (ba.supplier=:supplier or :supplier is null)" +
 | 
					            " and (bi.code=:bigItemCode or :bigItemCode is null)  and (ba.supplier=:supplier or :supplier is null)" +
 | 
				
			||||||
            " and (ba.tckw=:tckw or :tckw is null) and ba.bp_type=:dxw" +
 | 
					            " and (ba.tckw=:tckw or :tckw is null) and ba.bp_type=:dxw" +
 | 
				
			||||||
            " order by point.code, ba.ns,it.code,ba.bonded,bi.master_name ", nativeQuery = true)
 | 
					            " order by point.code, ba.ns,it.code,ba.bonded,bi.master_name ", nativeQuery = true)
 | 
				
			||||||
    List<BomPrint> queryPrintAll(String bigItemCode,String itemCode, String hw, String ns,String kq,String bp_type,String tckw,String supplier,String dxw);
 | 
					    List<BomPrint> queryPrintAll(String bigItemCode,String itemCode, String hw, String ns,String kq,String bp_type,String tckw,
 | 
				
			||||||
 | 
					                                 String supplier,String dxw);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    @Query(value = "select ba.id id ,it.code, ba.ns,it.name pm,point.code hw,ba.xz,ba.srs,ba.bonded," +
 | 
				
			||||||
 | 
					            "ba.supplier,bi.master_name AS jxs ,ba.singles AS tyls,ba.bp_type dxw,v.jxs jxs_v " +
 | 
				
			||||||
 | 
					            "from base_bom_account ba \n" +
 | 
				
			||||||
 | 
					            "LEFT JOIN base_big_item bi on bi.id=ba.big_item_id\n" +
 | 
				
			||||||
 | 
					            "left join base_item it on it.id=ba.item_id\n" +
 | 
				
			||||||
 | 
					            "left join base_point point on point.id=ba.z_point_id" +
 | 
				
			||||||
 | 
					            " left join base_area area on area.id=ba.r_area_id " +
 | 
				
			||||||
 | 
					            " LEFT JOIN bom_print_view v on  v.item_id=ba.item_id and v.bonded=ba.bonded and v.z_point_id=ba.z_point_id and v.ns=ba.ns " +
 | 
				
			||||||
 | 
					            " where (ba.bp_type=:bp_type or :bp_type is null) and (it.code=:itemCode or :itemCode is null) and (point.code like CONCAT(:hw, '%') or :hw is null) " +
 | 
				
			||||||
 | 
					            " and (area.code=:kq or :kq is null)  and (ba.ns=:ns or :ns is null)" +
 | 
				
			||||||
 | 
					            " and (v.jxs LIKE CONCAT('%',:bigItemCode,'%') or :bigItemCode is null)  and (ba.supplier=:supplier or :supplier is null)" +
 | 
				
			||||||
 | 
					            " and (ba.tckw=:tckw or :tckw is null)" +
 | 
				
			||||||
 | 
					            " order by point.code, ba.ns,it.code,ba.bonded,bi.master_name ", nativeQuery = true)
 | 
				
			||||||
 | 
					    List<BomPrint> queryPrintAll(String bigItemCode,String itemCode, String hw, String ns,String kq,String bp_type,String tckw,
 | 
				
			||||||
 | 
					                                 String supplier);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
| 
						 | 
					@ -50,7 +50,9 @@ import org.springframework.validation.annotation.Validated;
 | 
				
			||||||
import org.springframework.web.bind.annotation.*;
 | 
					import org.springframework.web.bind.annotation.*;
 | 
				
			||||||
import io.swagger.annotations.*;
 | 
					import io.swagger.annotations.*;
 | 
				
			||||||
import java.io.IOException;
 | 
					import java.io.IOException;
 | 
				
			||||||
 | 
					import java.math.BigInteger;
 | 
				
			||||||
import java.util.*;
 | 
					import java.util.*;
 | 
				
			||||||
 | 
					import java.util.stream.Collectors;
 | 
				
			||||||
import javax.servlet.http.HttpServletResponse;
 | 
					import javax.servlet.http.HttpServletResponse;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/**
 | 
					/**
 | 
				
			||||||
| 
						 | 
					@ -157,11 +159,11 @@ public class BomAccountController {
 | 
				
			||||||
//    }
 | 
					//    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    @GetMapping("/bomPrintBiaoQianList/{dxw}")
 | 
					    @GetMapping("/bomPrintBiaoQianListold/{dxw}")
 | 
				
			||||||
    @Log("获取Bom中库位标签")
 | 
					    @Log("获取Bom中库位标签")
 | 
				
			||||||
    @ApiOperation("获取Bom中库位标签")
 | 
					    @ApiOperation("获取Bom中库位标签")
 | 
				
			||||||
    @AnonymousAccess
 | 
					    @AnonymousAccess
 | 
				
			||||||
    public ResponseEntity<Object> bomPrintBiaoQianList(@PathVariable("dxw") String dxw){
 | 
					    public ResponseEntity<Object> bomPrintBiaoQianListold(@PathVariable("dxw") String dxw){
 | 
				
			||||||
        RedisUtils redisUtils = SpringContextHolder.getBean(RedisUtils.class);
 | 
					        RedisUtils redisUtils = SpringContextHolder.getBean(RedisUtils.class);
 | 
				
			||||||
        String json=(String)redisUtils.get(SecurityUtils.getCurrentUsername()+dxw);
 | 
					        String json=(String)redisUtils.get(SecurityUtils.getCurrentUsername()+dxw);
 | 
				
			||||||
        //log.info(SecurityUtils.getCurrentUsername()+dxw+"-----"+json);
 | 
					        //log.info(SecurityUtils.getCurrentUsername()+dxw+"-----"+json);
 | 
				
			||||||
| 
						 | 
					@ -221,7 +223,103 @@ public class BomAccountController {
 | 
				
			||||||
//            // 先比较前部分,再比较后部分
 | 
					//            // 先比较前部分,再比较后部分
 | 
				
			||||||
//            return firstPart * 1000 + secondPart;
 | 
					//            return firstPart * 1000 + secondPart;
 | 
				
			||||||
//        }));
 | 
					//        }));
 | 
				
			||||||
        return new ResponseEntity<>( list2,HttpStatus.OK);
 | 
					        redisUtils.set(SecurityUtils.getCurrentUsername()+"_BiaoQian_X",JsonUtil.toJson(list));
 | 
				
			||||||
 | 
					        return new ResponseEntity<>(list,HttpStatus.OK);
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    @GetMapping("/queryBomPrintList")
 | 
				
			||||||
 | 
					    @Log("查询Bom标签")
 | 
				
			||||||
 | 
					    @ApiOperation("查询Bom标签")
 | 
				
			||||||
 | 
					    @AnonymousAccess
 | 
				
			||||||
 | 
					    public ResponseEntity<Object> queryBomPrintList(BomAccountQueryCriteria criteria,Pageable pageable){
 | 
				
			||||||
 | 
					        RedisUtils redisUtils = SpringContextHolder.getBean(RedisUtils.class);
 | 
				
			||||||
 | 
					        redisUtils.del(SecurityUtils.getCurrentUsername()+BaseStatus.XWBQ);
 | 
				
			||||||
 | 
					        redisUtils.del(SecurityUtils.getCurrentUsername()+BaseStatus.ZDWBQ);
 | 
				
			||||||
 | 
					        List<BomPrint> list=bomAccountService.queryPrintAll(criteria);
 | 
				
			||||||
 | 
					        List<String> sortList=new ArrayList<>();
 | 
				
			||||||
 | 
					        HashMap<String ,List<BomPrint>> map=new HashMap<>();
 | 
				
			||||||
 | 
					        for(BomPrint l:list){
 | 
				
			||||||
 | 
					            String key=l.getCode()+"]"+l.getNs()+"]"+l.getBonded()+"]"+l.getHw();
 | 
				
			||||||
 | 
					            if(map.containsKey(key)){
 | 
				
			||||||
 | 
					                List<BomPrint> list2=map.get(key);
 | 
				
			||||||
 | 
					                list2.add(l);
 | 
				
			||||||
 | 
					                map.put(key,list2);
 | 
				
			||||||
 | 
					            }else{
 | 
				
			||||||
 | 
					                List<BomPrint> list2=new ArrayList<>();
 | 
				
			||||||
 | 
					                list2.add(l);
 | 
				
			||||||
 | 
					                map.put(key,list2);
 | 
				
			||||||
 | 
					                sortList.add(key);
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					        List<BomPrint_BiaoQian> list2=new ArrayList<>();
 | 
				
			||||||
 | 
					        List<BomPrint_BiaoQian> listd=new ArrayList<>();
 | 
				
			||||||
 | 
					        List<BomPrint_BiaoQian> listx=new ArrayList<>();
 | 
				
			||||||
 | 
					//        for (String key : map.keySet()) {
 | 
				
			||||||
 | 
					        for(String key:sortList){
 | 
				
			||||||
 | 
					            List<BomPrint> bqs=map.get(key);
 | 
				
			||||||
 | 
					            BomPrint_BiaoQian bq=new BomPrint_BiaoQian();
 | 
				
			||||||
 | 
					            BomPrint l=bqs.get(0);
 | 
				
			||||||
 | 
					            String code=l.getCode().substring(0,5)+"-"+l.getCode().substring(5,l.getCode().length());
 | 
				
			||||||
 | 
					            bq.setNs(l.getNs()+"/"+code);
 | 
				
			||||||
 | 
					            bq.setNsv(l.getNs());
 | 
				
			||||||
 | 
					            bq.setCode(code);
 | 
				
			||||||
 | 
					            String hw=l.getHw();
 | 
				
			||||||
 | 
					            hw=hw.substring(0,3)+"-"+hw.substring(3,hw.length());
 | 
				
			||||||
 | 
					            bq.setHw(hw);
 | 
				
			||||||
 | 
					            bq.setPm(l.getPm());
 | 
				
			||||||
 | 
					            bq.setEwm(key);
 | 
				
			||||||
 | 
					            bq.setBonded(l.getBonded());
 | 
				
			||||||
 | 
					            bq.setSrs(l.getSrs());
 | 
				
			||||||
 | 
					            bq.setXz(l.getXz());
 | 
				
			||||||
 | 
					            bq.setSupplier(l.getSupplier());
 | 
				
			||||||
 | 
					            bq.setDxw(l.getDxw());
 | 
				
			||||||
 | 
					            bq.setId(l.getId());
 | 
				
			||||||
 | 
					            String[] jxs=new String[bqs.size()];
 | 
				
			||||||
 | 
					            String[] tyls=new String[bqs.size()];
 | 
				
			||||||
 | 
					            String jx="";
 | 
				
			||||||
 | 
					            String tyl="";
 | 
				
			||||||
 | 
					            for(int i=0;i<bqs.size();i++){
 | 
				
			||||||
 | 
					                jxs[i]=bqs.get(i).getJxs();
 | 
				
			||||||
 | 
					                tyls[i]=bqs.get(i).getTyls();
 | 
				
			||||||
 | 
					                jx+=bqs.get(i).getJxs()+";";
 | 
				
			||||||
 | 
					                tyl+=bqs.get(i).getTyls()+";";
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					            bq.setJx(jx);
 | 
				
			||||||
 | 
					            bq.setTyl(tyl);
 | 
				
			||||||
 | 
					            bq.setJxs(jxs);
 | 
				
			||||||
 | 
					            bq.setTyls(tyls);
 | 
				
			||||||
 | 
					            list2.add(bq);
 | 
				
			||||||
 | 
					            if(l.getDxw().equals("中大物标签")){
 | 
				
			||||||
 | 
					                listd.add(bq);
 | 
				
			||||||
 | 
					            }else if(l.getDxw().equals("小物标签")){
 | 
				
			||||||
 | 
					                listx.add(bq);
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					        redisUtils.set(SecurityUtils.getCurrentUsername()+BaseStatus.XWBQ,JsonUtil.toJson(listx));
 | 
				
			||||||
 | 
					        redisUtils.set(SecurityUtils.getCurrentUsername()+BaseStatus.ZDWBQ,JsonUtil.toJson(listd));
 | 
				
			||||||
 | 
					        Map<String,Object> map2=new HashMap<>();
 | 
				
			||||||
 | 
					        int pageNum=pageable.getPageNumber();//当前页
 | 
				
			||||||
 | 
					        int pageSize=pageable.getPageSize();//条数
 | 
				
			||||||
 | 
					        List<BomPrint_BiaoQian> result = list2.stream()
 | 
				
			||||||
 | 
					                .skip((pageNum)*pageSize)  // 跳过前100个
 | 
				
			||||||
 | 
					                .limit(pageSize) // 取100个(101-200行)
 | 
				
			||||||
 | 
					                .collect(Collectors.toList());
 | 
				
			||||||
 | 
					        map2.put("content",result);
 | 
				
			||||||
 | 
					        map2.put("totalElements",list2.size());
 | 
				
			||||||
 | 
					        return new ResponseEntity<>(map2,HttpStatus.OK);
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    @GetMapping("/bomPrintBiaoQianList/{dxw}")
 | 
				
			||||||
 | 
					    @Log("获取Bom中库位标签")
 | 
				
			||||||
 | 
					    @ApiOperation("获取Bom中库位标签")
 | 
				
			||||||
 | 
					    @AnonymousAccess
 | 
				
			||||||
 | 
					    public ResponseEntity<Object> bomPrintBiaoQianList(@PathVariable("dxw") String dxw){
 | 
				
			||||||
 | 
					        RedisUtils redisUtils = SpringContextHolder.getBean(RedisUtils.class);
 | 
				
			||||||
 | 
					        String key=SecurityUtils.getCurrentUsername()+dxw;
 | 
				
			||||||
 | 
					        String json=(String)redisUtils.get(key);
 | 
				
			||||||
 | 
					        log.info("---"+key+"-----"+json);
 | 
				
			||||||
 | 
					        List<BomPrint_BiaoQian> list= JSONUtil.toList(json, BomPrint_BiaoQian.class);
 | 
				
			||||||
 | 
					        return new ResponseEntity<>(list,HttpStatus.OK);
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -53,6 +53,8 @@ public interface BomAccountService {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    List<BomPrint> queryPrintAll(BomAccountQueryCriteria criteria,String dxw);
 | 
					    List<BomPrint> queryPrintAll(BomAccountQueryCriteria criteria,String dxw);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    List<BomPrint> queryPrintAll(BomAccountQueryCriteria criteria);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    /**
 | 
					    /**
 | 
				
			||||||
     * 根据ID查询
 | 
					     * 根据ID查询
 | 
				
			||||||
     * @param id ID
 | 
					     * @param id ID
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -66,4 +66,5 @@ public class BomAccountQueryCriteria{
 | 
				
			||||||
    private String tckw;
 | 
					    private String tckw;
 | 
				
			||||||
    @Query
 | 
					    @Query
 | 
				
			||||||
    private String supplier;
 | 
					    private String supplier;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
| 
						 | 
					@ -89,7 +89,14 @@ public class BomAccountServiceImpl implements BomAccountService {
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    public List<BomPrint> queryPrintAll(BomAccountQueryCriteria criteria,String dxw){
 | 
					    public List<BomPrint> queryPrintAll(BomAccountQueryCriteria criteria,String dxw){
 | 
				
			||||||
        List<BomPrint> bomPrints=bomAccountRepository.queryPrintAll(criteria.getBigItemCode(),criteria.getItemCode(),criteria.getZPointCode(),criteria.getNs(),criteria.getRAreaCode(),criteria.getBp_type(),criteria.getTckw(),criteria.getSupplier(),dxw);
 | 
					        List<BomPrint> bomPrints=bomAccountRepository.queryPrintAll(criteria.getBigItemCode(),criteria.getItemCode(),criteria.getZPointCode(),
 | 
				
			||||||
 | 
					                criteria.getNs(),criteria.getRAreaCode(),criteria.getBp_type(),criteria.getTckw(),criteria.getSupplier(),dxw);
 | 
				
			||||||
 | 
					        return bomPrints;
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    public List<BomPrint> queryPrintAll(BomAccountQueryCriteria criteria){
 | 
				
			||||||
 | 
					        List<BomPrint> bomPrints=bomAccountRepository.queryPrintAll(criteria.getBigItemCode(),criteria.getItemCode(),criteria.getZPointCode(),
 | 
				
			||||||
 | 
					                criteria.getNs(),criteria.getRAreaCode(),criteria.getBp_type(),criteria.getTckw(),criteria.getSupplier());
 | 
				
			||||||
        return bomPrints;
 | 
					        return bomPrints;
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -10,6 +10,7 @@ import com.youchain.businessdata.inputJson.imports.BaseImport;
 | 
				
			||||||
import com.youchain.businessdata.inputJson.imports.InvoicePackingImport;
 | 
					import com.youchain.businessdata.inputJson.imports.InvoicePackingImport;
 | 
				
			||||||
import com.youchain.businessdata.repository.*;
 | 
					import com.youchain.businessdata.repository.*;
 | 
				
			||||||
import com.youchain.businessdata.service.*;
 | 
					import com.youchain.businessdata.service.*;
 | 
				
			||||||
 | 
					import com.youchain.config.FileProperties;
 | 
				
			||||||
import com.youchain.exception.BadRequestException;
 | 
					import com.youchain.exception.BadRequestException;
 | 
				
			||||||
import com.youchain.modules.system.domain.Dept;
 | 
					import com.youchain.modules.system.domain.Dept;
 | 
				
			||||||
import com.youchain.utils.*;
 | 
					import com.youchain.utils.*;
 | 
				
			||||||
| 
						 | 
					@ -20,6 +21,7 @@ import org.springframework.stereotype.Service;
 | 
				
			||||||
import org.springframework.transaction.annotation.Transactional;
 | 
					import org.springframework.transaction.annotation.Transactional;
 | 
				
			||||||
import org.springframework.web.multipart.MultipartFile;
 | 
					import org.springframework.web.multipart.MultipartFile;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import java.io.File;
 | 
				
			||||||
import java.sql.Timestamp;
 | 
					import java.sql.Timestamp;
 | 
				
			||||||
import java.util.*;
 | 
					import java.util.*;
 | 
				
			||||||
import java.util.stream.Collectors;
 | 
					import java.util.stream.Collectors;
 | 
				
			||||||
| 
						 | 
					@ -41,10 +43,14 @@ public class ImportAsnServiceImpl implements ImportAsnService {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    private final CodeUtils codeUtils;
 | 
					    private final CodeUtils codeUtils;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    private final FileProperties properties;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    @Override
 | 
					    @Override
 | 
				
			||||||
    @Transactional(rollbackFor = Exception.class)
 | 
					    @Transactional(rollbackFor = Exception.class)
 | 
				
			||||||
    public void importAsn(MultipartFile file, String templateType) {
 | 
					    public void importAsn(MultipartFile file, String templateType) {
 | 
				
			||||||
 | 
					//        String suffix = FileUtil.getExtensionName(file.getOriginalFilename());
 | 
				
			||||||
 | 
					//        String type = FileUtil.getFileType(suffix);
 | 
				
			||||||
 | 
					//        FileUtil.upload(file, properties.getPath().getPath() + type + File.separator);
 | 
				
			||||||
        // 验证模板类型是否正确
 | 
					        // 验证模板类型是否正确
 | 
				
			||||||
        isValidTemplateType(file, templateType);
 | 
					        isValidTemplateType(file, templateType);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -82,6 +88,7 @@ public class ImportAsnServiceImpl implements ImportAsnService {
 | 
				
			||||||
        Map<String, String> cellValues = FastExcelUtil.readExcelCellValues(file, reader);
 | 
					        Map<String, String> cellValues = FastExcelUtil.readExcelCellValues(file, reader);
 | 
				
			||||||
        String invoiceNo = cellValues.get("5-55");
 | 
					        String invoiceNo = cellValues.get("5-55");
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        // 读取两个sheet的数据
 | 
					        // 读取两个sheet的数据
 | 
				
			||||||
        List<BaseImport> sheet1Data = FastExcelUtil.readExcelData(file, BaseImport.class, 0, 21);
 | 
					        List<BaseImport> sheet1Data = FastExcelUtil.readExcelData(file, BaseImport.class, 0, 21);
 | 
				
			||||||
        List<BaseImport> sheet2Data = FastExcelUtil.readExcelData(file, BaseImport.class, 1, 21);
 | 
					        List<BaseImport> sheet2Data = FastExcelUtil.readExcelData(file, BaseImport.class, 1, 21);
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -67,12 +67,14 @@ public class ImportBomAccountServiceImpl implements ImportBomAccountService {
 | 
				
			||||||
            bomAccountImport.setTckw(map.get(10) != null ? map.get(10).toString() : "");
 | 
					            bomAccountImport.setTckw(map.get(10) != null ? map.get(10).toString() : "");
 | 
				
			||||||
            bomAccountImport.setDxw(map.get(11) != null ? map.get(11).toString() : "");
 | 
					            bomAccountImport.setDxw(map.get(11) != null ? map.get(11).toString() : "");
 | 
				
			||||||
            bomAccountImport.setSb(map.get(12) != null ? map.get(12).toString() : "");
 | 
					            bomAccountImport.setSb(map.get(12) != null ? map.get(12).toString() : "");
 | 
				
			||||||
            if(bomAccountImport.getZcfq().equals("制造库位")) {
 | 
					            boolean cgsj=Boolean.TRUE;
 | 
				
			||||||
 | 
					//            if(bomAccountImport.getZcfq().equals("制造库位")) {
 | 
				
			||||||
                for (int ccc=0;ccc<50;ccc++){
 | 
					                for (int ccc=0;ccc<50;ccc++){
 | 
				
			||||||
                    BomEntity bomAccountImport_new=new BomEntity();
 | 
					                    BomEntity bomAccountImport_new=new BomEntity();
 | 
				
			||||||
                    int index=ccc*4+12;
 | 
					                    int index=ccc*4+12;
 | 
				
			||||||
                    String tyl=(map.get((index+4)) != null ? map.get((index+4)).toString() : "");
 | 
					                    String tyl=(map.get((index+4)) != null ? map.get((index+4)).toString() : "");
 | 
				
			||||||
                    if (tyl.length() > 0) {
 | 
					                    if (tyl.length() > 0) {
 | 
				
			||||||
 | 
					                        cgsj=Boolean.FALSE;
 | 
				
			||||||
                        bomAccountImport_new.setJxdm((map.get((index+1)) != null ? map.get((index+1)).toString() : ""));
 | 
					                        bomAccountImport_new.setJxdm((map.get((index+1)) != null ? map.get((index+1)).toString() : ""));
 | 
				
			||||||
                        bomAccountImport_new.setJx((map.get((index+2)) != null ? map.get((index+2)).toString() : ""));
 | 
					                        bomAccountImport_new.setJx((map.get((index+2)) != null ? map.get((index+2)).toString() : ""));
 | 
				
			||||||
                        bomAccountImport_new.setKyh((map.get((index+3)) != null ? map.get((index+3)).toString() : ""));
 | 
					                        bomAccountImport_new.setKyh((map.get((index+3)) != null ? map.get((index+3)).toString() : ""));
 | 
				
			||||||
| 
						 | 
					@ -95,7 +97,8 @@ public class ImportBomAccountServiceImpl implements ImportBomAccountService {
 | 
				
			||||||
                        dataList.add(bomAccountImport_new);
 | 
					                        dataList.add(bomAccountImport_new);
 | 
				
			||||||
                    }
 | 
					                    }
 | 
				
			||||||
                }
 | 
					                }
 | 
				
			||||||
            }else{
 | 
					//            }
 | 
				
			||||||
 | 
					            if(cgsj){
 | 
				
			||||||
                bomAccountImport.setJxdm(BaseStatus.DEFAULT_CG_BIG);
 | 
					                bomAccountImport.setJxdm(BaseStatus.DEFAULT_CG_BIG);
 | 
				
			||||||
                bomAccountImport.setJx(BaseStatus.DEFAULT_CG_BIG);
 | 
					                bomAccountImport.setJx(BaseStatus.DEFAULT_CG_BIG);
 | 
				
			||||||
                bomAccountImport.setTyl("0");
 | 
					                bomAccountImport.setTyl("0");
 | 
				
			||||||
| 
						 | 
					@ -301,7 +304,7 @@ public class ImportBomAccountServiceImpl implements ImportBomAccountService {
 | 
				
			||||||
    //验证模板是否使用正确
 | 
					    //验证模板是否使用正确
 | 
				
			||||||
    private void isValidTemplateType(MultipartFile file) {
 | 
					    private void isValidTemplateType(MultipartFile file) {
 | 
				
			||||||
        List<String> requiredColumns = Arrays.asList(
 | 
					        List<String> requiredColumns = Arrays.asList(
 | 
				
			||||||
                "品番",
 | 
					                "子品番",
 | 
				
			||||||
                "纳所",
 | 
					                "纳所",
 | 
				
			||||||
                "品名(多国语)",
 | 
					                "品名(多国语)",
 | 
				
			||||||
                "本国语供应商1(多国语)",
 | 
					                "本国语供应商1(多国语)",
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -81,6 +81,10 @@ public class ImportItemServiceImpl implements ImportItemService {
 | 
				
			||||||
            item.setContents(data.getContents());
 | 
					            item.setContents(data.getContents());
 | 
				
			||||||
            item.setXz(data.getXz());
 | 
					            item.setXz(data.getXz());
 | 
				
			||||||
            item.setExtendD3(data.getSrs()+0d);
 | 
					            item.setExtendD3(data.getSrs()+0d);
 | 
				
			||||||
 | 
					            item.setLength(data.getLength());
 | 
				
			||||||
 | 
					            item.setWidth(data.getWidth());
 | 
				
			||||||
 | 
					            item.setHeight(data.getHeight());
 | 
				
			||||||
 | 
					            item.setExtendStr2(data.getExtendStr2());
 | 
				
			||||||
            itemRepository.save(item);
 | 
					            itemRepository.save(item);
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
| 
						 | 
					@ -101,7 +105,11 @@ public class ImportItemServiceImpl implements ImportItemService {
 | 
				
			||||||
                 "A/C",
 | 
					                 "A/C",
 | 
				
			||||||
                "加工内容",
 | 
					                "加工内容",
 | 
				
			||||||
                "箱种",
 | 
					                "箱种",
 | 
				
			||||||
                "收容数"
 | 
					                "收容数",
 | 
				
			||||||
 | 
					                "长",
 | 
				
			||||||
 | 
					                "宽",
 | 
				
			||||||
 | 
					                "高",
 | 
				
			||||||
 | 
					                "保管期限"
 | 
				
			||||||
        );
 | 
					        );
 | 
				
			||||||
        List<String> headers = FastExcelUtil.readHeadContent(file, requiredColumns, 0, 0);
 | 
					        List<String> headers = FastExcelUtil.readHeadContent(file, requiredColumns, 0, 0);
 | 
				
			||||||
        if (!SmartStringUtil.containsAllIgnoreCase(requiredColumns, headers)) {
 | 
					        if (!SmartStringUtil.containsAllIgnoreCase(requiredColumns, headers)) {
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1,6 +1,7 @@
 | 
				
			||||||
package com.youchain.businessdata.inputJson.imports;
 | 
					package com.youchain.businessdata.inputJson.imports;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
import cn.idev.excel.annotation.ExcelProperty;
 | 
					import cn.idev.excel.annotation.ExcelProperty;
 | 
				
			||||||
 | 
					import io.swagger.annotations.ApiModelProperty;
 | 
				
			||||||
import lombok.AllArgsConstructor;
 | 
					import lombok.AllArgsConstructor;
 | 
				
			||||||
import lombok.Builder;
 | 
					import lombok.Builder;
 | 
				
			||||||
import lombok.Data;
 | 
					import lombok.Data;
 | 
				
			||||||
| 
						 | 
					@ -36,4 +37,19 @@ public class ItemImport {
 | 
				
			||||||
    @ExcelProperty("收容数")
 | 
					    @ExcelProperty("收容数")
 | 
				
			||||||
    private int srs=0;
 | 
					    private int srs=0;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    @ExcelProperty("长")
 | 
				
			||||||
 | 
					    private Double length=0d;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    @ExcelProperty("宽")
 | 
				
			||||||
 | 
					    private Double width=0d;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    @ExcelProperty( "高")
 | 
				
			||||||
 | 
					    private Double height=0d;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    @ExcelProperty("保质期")
 | 
				
			||||||
 | 
					    private Integer validPeriod;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    @ExcelProperty("保管期限")
 | 
				
			||||||
 | 
					    private String extendStr2;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -202,15 +202,20 @@ public class InventoryController {
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    @PostMapping("/queryInvApp")
 | 
					    @PostMapping("/queryInvApp")
 | 
				
			||||||
    @Log("APP查询库存")
 | 
					    @Log("APP库存查询")
 | 
				
			||||||
    @ApiOperation("APP查询库存")
 | 
					    @ApiOperation("APP库存查询")
 | 
				
			||||||
    @AnonymousAccess
 | 
					    @AnonymousAccess
 | 
				
			||||||
    public ApiResult queryInvApp(@RequestBody ScanItemCode scan) {
 | 
					    public ApiResult queryInvApp(@RequestBody ScanItemCode scan) {
 | 
				
			||||||
        String code=scan.getItemCode();
 | 
					        String code=scan.getItemCode();
 | 
				
			||||||
        if(code!=null&&code.length()>=85){
 | 
					        if(code!=null&&code.length()>=81){
 | 
				
			||||||
            code=code.substring(3, 13);
 | 
					            code=code.substring(3, 13);
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
        List<RInvQuery> qs=inventoryService.queryInvApp(code,scan.getPointCode());
 | 
					        String pointCode=scan.getPointCode();
 | 
				
			||||||
 | 
					        String[] str=pointCode.split("]");
 | 
				
			||||||
 | 
					        if(str.length>1){//固定库位标签
 | 
				
			||||||
 | 
					            pointCode=str[3];
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					        List<RInvQuery> qs=inventoryService.queryInvApp(code,pointCode);
 | 
				
			||||||
        return ApiResult.result(200, "", qs);
 | 
					        return ApiResult.result(200, "", qs);
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -28,6 +28,8 @@ public interface BomPrint {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        String getEwm();
 | 
					        String getEwm();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        String getBqlx();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
//    private String ns;
 | 
					//    private String ns;
 | 
				
			||||||
//
 | 
					//
 | 
				
			||||||
//    @ExcelProperty("箱种")
 | 
					//    @ExcelProperty("箱种")
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -11,6 +11,7 @@ public class   BomPrint_BiaoQian {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    private Long id;
 | 
					    private Long id;
 | 
				
			||||||
 | 
					    private String nsv;
 | 
				
			||||||
    private String ns;
 | 
					    private String ns;
 | 
				
			||||||
    private String code;
 | 
					    private String code;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -41,6 +42,12 @@ public class   BomPrint_BiaoQian {
 | 
				
			||||||
    //"台用量"
 | 
					    //"台用量"
 | 
				
			||||||
    private String [] tyls;
 | 
					    private String [] tyls;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    //"机型"
 | 
				
			||||||
 | 
					    private String jx;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    //"台用量"
 | 
				
			||||||
 | 
					    private String tyl;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
   //"二维码"
 | 
					   //"二维码"
 | 
				
			||||||
    private String ewm;
 | 
					    private String ewm;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -176,12 +176,12 @@ public class PickDetailServiceImpl implements PickDetailService {
 | 
				
			||||||
    @Transactional(rollbackFor = Exception.class)
 | 
					    @Transactional(rollbackFor = Exception.class)
 | 
				
			||||||
    public PickDetail cxjlCreate(CxjlDto cxjldto){
 | 
					    public PickDetail cxjlCreate(CxjlDto cxjldto){
 | 
				
			||||||
        PickDetail pd=new PickDetail();
 | 
					        PickDetail pd=new PickDetail();
 | 
				
			||||||
        Area area=areaService.findByCode(BaseStatus.DEFAULT_AREA);
 | 
					//        Area area=areaService.findByCode(BaseStatus.DEFAULT_AREA);
 | 
				
			||||||
        Area sharea=areaRepository.getById(cxjldto.getRk_id());
 | 
					        Area sharea=areaRepository.getById(cxjldto.getRk_id());
 | 
				
			||||||
        Item it=itemRepository.getById(cxjldto.getItem_id());
 | 
					        Item it=itemRepository.getById(cxjldto.getItem_id());
 | 
				
			||||||
        Point zzkw= pointRepository.getById(cxjldto.getZzkw_id());
 | 
					        Point zzkw= pointRepository.getById(cxjldto.getZzkw_id());
 | 
				
			||||||
//        BomAccount bomAccount=bomAccountRepository.getById(cxjldto.getBom_account_id());
 | 
					//        BomAccount bomAccount=bomAccountRepository.getById(cxjldto.getBom_account_id());
 | 
				
			||||||
        pd.setArea(area);
 | 
					//        pd.setArea(area);
 | 
				
			||||||
        pd.setShArea(sharea);
 | 
					        pd.setShArea(sharea);
 | 
				
			||||||
        pd.setItem(it);
 | 
					        pd.setItem(it);
 | 
				
			||||||
        pd.setPoint(zzkw);
 | 
					        pd.setPoint(zzkw);
 | 
				
			||||||
| 
						 | 
					@ -221,7 +221,10 @@ public class PickDetailServiceImpl implements PickDetailService {
 | 
				
			||||||
                for (Inventory inv : invs) {
 | 
					                for (Inventory inv : invs) {
 | 
				
			||||||
                    if(inv.getStockCode()!=null&&pd.getPo()==null){
 | 
					                    if(inv.getStockCode()!=null&&pd.getPo()==null){
 | 
				
			||||||
                        //回写推荐托盘即可
 | 
					                        //回写推荐托盘即可
 | 
				
			||||||
 | 
					                        pd.setStatus(BizStatus.ALLOCATE);
 | 
				
			||||||
 | 
					                        pd.setArea(inv.getArea());
 | 
				
			||||||
                        map.put(inv.getId()+"",inv.getStockCode()+"]"+inv.getItemKey().getPropC1()+"]"+inv.getPoint().getCode()+"]"+inv.getQuantity());
 | 
					                        map.put(inv.getId()+"",inv.getStockCode()+"]"+inv.getItemKey().getPropC1()+"]"+inv.getPoint().getCode()+"]"+inv.getQuantity());
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                        continue;
 | 
					                        continue;
 | 
				
			||||||
                    }
 | 
					                    }
 | 
				
			||||||
                    Point startPoint = inv.getPoint();//原库位
 | 
					                    Point startPoint = inv.getPoint();//原库位
 | 
				
			||||||
| 
						 | 
					@ -271,6 +274,7 @@ public class PickDetailServiceImpl implements PickDetailService {
 | 
				
			||||||
                    if(pd.getAllocatedQty()>0) {
 | 
					                    if(pd.getAllocatedQty()>0) {
 | 
				
			||||||
                        pd.setStatus(BizStatus.ALLOCATE);
 | 
					                        pd.setStatus(BizStatus.ALLOCATE);
 | 
				
			||||||
                    }
 | 
					                    }
 | 
				
			||||||
 | 
					                    pd.setArea(inv.getArea());
 | 
				
			||||||
                    pickDetailRepository.save(pd);
 | 
					                    pickDetailRepository.save(pd);
 | 
				
			||||||
                    Task task = taskService.storeTask(null,pd,inv.getArea(),inv.getItemKey(),startPoint,endPoint,allocateQty,inv.getStockCode());
 | 
					                    Task task = taskService.storeTask(null,pd,inv.getArea(),inv.getItemKey(),startPoint,endPoint,allocateQty,inv.getStockCode());
 | 
				
			||||||
                    //修改占用数,写入日志
 | 
					                    //修改占用数,写入日志
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -418,12 +418,12 @@ public class XppRecordServiceImpl implements XppRecordService {
 | 
				
			||||||
        if (item==null){
 | 
					        if (item==null){
 | 
				
			||||||
            throw new BadRequestException("部品品番不存在");
 | 
					            throw new BadRequestException("部品品番不存在");
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
        if(type!=null) {
 | 
					//        if(type!=null) {
 | 
				
			||||||
            XppRecord xppRecord = xppRecordRepository.findByEwmType(ewm, type);
 | 
					//            XppRecord xppRecord = xppRecordRepository.findByEwmType(ewm, type);
 | 
				
			||||||
            if (xppRecord != null) {
 | 
					//            if (xppRecord != null) {
 | 
				
			||||||
                throw new BadRequestException("二维码已采集");
 | 
					//                throw new BadRequestException("二维码已采集");
 | 
				
			||||||
            }
 | 
					//            }
 | 
				
			||||||
        }
 | 
					//        }
 | 
				
			||||||
        RRkXpp xpp = new RRkXpp();
 | 
					        RRkXpp xpp = new RRkXpp();
 | 
				
			||||||
        xpp.setItemCode(item.getCode());
 | 
					        xpp.setItemCode(item.getCode());
 | 
				
			||||||
        xpp.setItemName(item.getName());
 | 
					        xpp.setItemName(item.getName());
 | 
				
			||||||
| 
						 | 
					@ -479,8 +479,8 @@ public class XppRecordServiceImpl implements XppRecordService {
 | 
				
			||||||
        xppRecord.setZf(xpp.getZf());
 | 
					        xppRecord.setZf(xpp.getZf());
 | 
				
			||||||
        xppRecord.setDdbh(xpp.getDdbh());
 | 
					        xppRecord.setDdbh(xpp.getDdbh());
 | 
				
			||||||
        xppRecord.setNrs(Integer.valueOf(xpp.getNrs()));
 | 
					        xppRecord.setNrs(Integer.valueOf(xpp.getNrs()));
 | 
				
			||||||
        xppRecord.setRelaSupplier(xpp.getGys());
 | 
					        xppRecord.setRelaSupplier(xpp.getGys().trim());
 | 
				
			||||||
        xppRecord.setRelaCode(xpp.getNrcs());
 | 
					        xppRecord.setRelaCode(xpp.getNrcs().trim());
 | 
				
			||||||
        xppRecord.setZPointCode(xpp.getZzkw());
 | 
					        xppRecord.setZPointCode(xpp.getZzkw());
 | 
				
			||||||
        xppRecord.setCPointCode(xpp.getCgkw());
 | 
					        xppRecord.setCPointCode(xpp.getCgkw());
 | 
				
			||||||
        xppRecord.setFzh(xpp.getFzh());
 | 
					        xppRecord.setFzh(xpp.getFzh());
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -126,5 +126,15 @@ public interface BaseStatus {
 | 
				
			||||||
     */
 | 
					     */
 | 
				
			||||||
    public static String ZZJL = "ZZJL";
 | 
					    public static String ZZJL = "ZZJL";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    /**
 | 
				
			||||||
 | 
					     *  标签种类-小物标签
 | 
				
			||||||
 | 
					     */
 | 
				
			||||||
 | 
					    public static String XWBQ = "_XWBQ";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    /**
 | 
				
			||||||
 | 
					     *  标签种类-中大物标签
 | 
				
			||||||
 | 
					     */
 | 
				
			||||||
 | 
					    public static String ZDWBQ = "_ZDWBQ";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in New Issue