|  |  |  | 
|---|
|  |  |  | import lombok.extern.slf4j.Slf4j; | 
|---|
|  |  |  | import org.springframework.beans.BeanUtils; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | import java.util.ArrayList; | 
|---|
|  |  |  | import java.util.Date; | 
|---|
|  |  |  | import java.util.List; | 
|---|
|  |  |  | import java.util.Map; | 
|---|
|  |  |  | import java.util.*; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * Created by vincent on 2019-11-25 | 
|---|
|  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | private int total = 0; | 
|---|
|  |  |  | private int index = 1; | 
|---|
|  |  |  | private String recordLog = ""; | 
|---|
|  |  |  | private Long userId; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | public PlaExcelListener() { | 
|---|
|  |  |  | 
|---|
|  |  |  | MatService matService = SpringUtils.getBean(MatService.class); | 
|---|
|  |  |  | Date now = new Date(); | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | // 商品 | 
|---|
|  |  |  | if(Cools.isEmpty(excel.getBatch()) || Cools.isEmpty(excel.getPackageNo())){ | 
|---|
|  |  |  | return; | 
|---|
|  |  |  | throw new CoolException("第" +  index++ + "数据错误,包号或者批号为空"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | Pla pla = plaService.selectByBatchAndPackageNo(excel.getBatch(),excel.getPackageNo()); | 
|---|
|  |  |  | Pla pla = plaService.selectByBatchAndPackageNo(excel.getBatch(),excel.getPackageNo(),excel.getBrand()); | 
|---|
|  |  |  | if (pla == null) { | 
|---|
|  |  |  | pla = plaCreate(pla,excel,matService,nodeService); | 
|---|
|  |  |  | pla.setCreateTime(new Date()); | 
|---|
|  |  |  | plaCreate(pla,excel,matService,nodeService); | 
|---|
|  |  |  | try { | 
|---|
|  |  |  | plaService.insert(pla); | 
|---|
|  |  |  | }catch (Exception e){ | 
|---|
|  |  |  | 
|---|
|  |  |  | //                throw new CoolException("保存商品信息失败,商品编码:" + excel.getMatnr()); | 
|---|
|  |  |  | //            } | 
|---|
|  |  |  | total++; | 
|---|
|  |  |  | }else if(Cools.eq(pla.getStatus(),GlobleParameter.PLA_STATUS_0) || Cools.eq(pla.getStatus(),GlobleParameter.PLA_STATUS_1) || Cools.eq(pla.getStatus(),GlobleParameter.PLA_STATUS_00)){ | 
|---|
|  |  |  | }else if(Cools.eq(pla.getStatus(),GlobleParameter.PLA_STATUS_0) || Cools.eq(pla.getStatus(),GlobleParameter.PLA_STATUS_00) || Cools.eq(pla.getStatus(),GlobleParameter.PLA_STATUS_1) ){ | 
|---|
|  |  |  | excel.setId(pla.getId()); | 
|---|
|  |  |  | excel.setCreateTime(pla.getCreateTime()); | 
|---|
|  |  |  | excel.setStatus(pla.getStatus()); | 
|---|
|  |  |  | excel.setPakinTime(pla.getPakinTime()); | 
|---|
|  |  |  | excel.setStash(pla.getStash()); | 
|---|
|  |  |  | excel.setLocNo(pla.getLocNo()); | 
|---|
|  |  |  | excel.setStockFreeze(pla.getStockFreeze()); | 
|---|
|  |  |  | if(Cools.isEmpty(excel.getLocNo())){ | 
|---|
|  |  |  | excel.setLocNo(pla.getLocNo()); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | BeanUtils.copyProperties(excel,pla); | 
|---|
|  |  |  | pla = plaCreate(pla,excel,matService,nodeService); | 
|---|
|  |  |  | try { | 
|---|
|  |  |  | plaService.updateById(pla); | 
|---|
|  |  |  | recordLog = recordLog + index + "," + pla.getBatch() + "," + pla.getPackageNo() + ";" ; | 
|---|
|  |  |  | }catch (Exception e){ | 
|---|
|  |  |  | log.error("保存商品信息失败,批号:" + excel.getBatch() + ", 包号:" + excel.getPackageNo() + "原因为:" + e.getMessage()); | 
|---|
|  |  |  | throw new CoolException("保存商品信息失败,批号:" + excel.getBatch() + ", 包号:" + excel.getPackageNo() + "原因为:" + e.getMessage()); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | total++; | 
|---|
|  |  |  | } else if (Cools.eq(pla.getStatus(),GlobleParameter.PLA_STATUS_2) || Cools.eq(pla.getStatus(),GlobleParameter.PLA_STATUS_3) || Cools.eq(pla.getStatus(),GlobleParameter.PLA_STATUS_4)) { | 
|---|
|  |  |  | // 补传质量指标 | 
|---|
|  |  |  | pla.setProDate(excel.getProDate()); | 
|---|
|  |  |  | pla.setWeight(excel.getWeight()); | 
|---|
|  |  |  | pla.setPackageType(excel.getPackageType()); | 
|---|
|  |  |  | pla.setZpalletType(excel.getZpalletType()); | 
|---|
|  |  |  | pla.setFingerMelting(excel.getFingerMelting()); | 
|---|
|  |  |  | pla.setWater(excel.getWater()); | 
|---|
|  |  |  | pla.setFusingPoint(excel.getFusingPoint()); | 
|---|
|  |  |  | pla.setVadf1(excel.getVadf1()); | 
|---|
|  |  |  | pla.setVadf2(excel.getVadf2()); | 
|---|
|  |  |  | pla.setYellowness(excel.getYellowness()); | 
|---|
|  |  |  | pla.setOpacity(excel.getOpacity()); | 
|---|
|  |  |  | pla.setL(excel.getL()); | 
|---|
|  |  |  | pla.setA(excel.getA()); | 
|---|
|  |  |  | pla.setB(excel.getB()); | 
|---|
|  |  |  | pla.setFillIn(excel.getFillIn()); | 
|---|
|  |  |  | pla.setStr1(excel.getStr1()); | 
|---|
|  |  |  | pla.setStr2(excel.getStr2()); | 
|---|
|  |  |  | pla.setStr3(excel.getStr3()); | 
|---|
|  |  |  | pla.setStr4(excel.getStr4()); | 
|---|
|  |  |  | pla.setStr5(excel.getStr5()); | 
|---|
|  |  |  | pla.setStr6(excel.getStr6()); | 
|---|
|  |  |  | pla.setMassState(excel.getMassState()); | 
|---|
|  |  |  | pla.setProblem(excel.getProblem()); | 
|---|
|  |  |  | pla.setModifyTime(now); | 
|---|
|  |  |  | try { | 
|---|
|  |  |  | plaService.updateById(pla); | 
|---|
|  |  |  | recordLog = recordLog + index + "," + pla.getBatch() + "," + pla.getPackageNo() + ";" ; | 
|---|
|  |  |  | } catch (Exception e){ | 
|---|
|  |  |  | log.error("补传质量指标异常,批号:" + excel.getBatch() + ", 包号:" + excel.getPackageNo() + "原因为:" + e.getMessage()); | 
|---|
|  |  |  | throw new CoolException("补传质量指标异常,批号:" + excel.getBatch() + ", 包号:" + excel.getPackageNo() + "原因为:" + e.getMessage()); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | total++; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | 
|---|
|  |  |  | pla.setWorkshop("三车间"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | }else if ("改性树脂".equals(pla.getType())){ | 
|---|
|  |  |  | if ("01".equals(line) || "02".equals(line) || "03".equals(line) || "04".equals(line)){ | 
|---|
|  |  |  | if (pla.getBrand() != null && (pla.getBrand().equals("161") || pla.getBrand().equals("171") || pla.getBrand().equals("181"))) { | 
|---|
|  |  |  | pla.setOwner(OWNER_HZ); | 
|---|
|  |  |  | pla.setWorkshop("一车间"); | 
|---|
|  |  |  | } else if ("01".equals(line) || "02".equals(line) || "03".equals(line) || "04".equals(line)){ | 
|---|
|  |  |  | pla.setOwner(OWNER_HNE); | 
|---|
|  |  |  | pla.setWorkshop("二车间"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | 
|---|
|  |  |  | pla.setStep(2); | 
|---|
|  |  |  | pla.setModifyTime(new Date()); | 
|---|
|  |  |  | pla.setStatus(GlobleParameter.PLA_STATUS_00); | 
|---|
|  |  |  | pla.setStockFreeze(1); | 
|---|
|  |  |  | pla.setStockFreeze(Cools.isEmpty(excel.getStockFreeze()) ? 1 : excel.getStockFreeze()); | 
|---|
|  |  |  | pla.setWeightAnfme(pla.getWeight()); | 
|---|
|  |  |  | Mat mat = matService.selectByMaktx(pla.getBrand()); | 
|---|
|  |  |  | if(Cools.isEmpty(mat)){ | 
|---|
|  |  |  | throw new CoolException("无法找到对应的牌号信息,牌号=" + pla.getBrand()); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | if (!Cools.isEmpty(excel.getProblem()) && excel.getProblem().contains("实验料")) { | 
|---|
|  |  |  | excel.setMassState("实验料"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | pla.setMatnr(mat.getMatnr()); | 
|---|
|  |  |  | try { | 
|---|
|  |  |  | if(Cools.isEmpty(pla.getType())){ | 
|---|