src/main/java/com/zy/asrs/controller/LocMastController.java
@@ -107,6 +107,10 @@ return R.error(); } if (!locMast.getLocSts().equals("F") && !Cools.isEmpty(locMast.getFrozen()) && locMast.getFrozen() == 1) { return R.error("åºåå¨åºç¶ææè½å»ç»"); } WrkMast wrkMast = wrkMastService.selectOne(new EntityWrapper<WrkMast>() .eq("source_loc_no", locMast.getLocNo()) .or().eq("loc_no", locMast.getLocNo())); src/main/java/com/zy/asrs/controller/MatController.java
@@ -12,6 +12,7 @@ import com.core.exception.CoolException; import com.zy.asrs.entity.Mat; import com.zy.asrs.entity.MatPrint; import com.zy.asrs.entity.OrderDetl; import com.zy.asrs.entity.dto.OrderDetlWithSum; import com.zy.asrs.entity.result.KeyValueVo; import com.zy.asrs.service.LocDetlService; @@ -219,10 +220,11 @@ if (mat == null) { return R.ok(); } OrderDetlWithSum orderDetl = new OrderDetlWithSum(); // OrderDetlWithSum orderDetl = new OrderDetlWithSum(); OrderDetl orderDetl = new OrderDetl(); orderDetl.sync(mat); orderDetl.setAnfme(0.0D); orderDetl.setSum(locDetlService.selectSumByMatnr(mat.getMatnr())); // orderDetl.setSum(locDetlService.selectSumByMatnr(mat.getMatnr())); return R.ok().add(orderDetl); } @@ -316,7 +318,7 @@ List<KeyValueVo> valueVos = new ArrayList<>(); for (Mat mat : mats) { KeyValueVo vo = new KeyValueVo(); vo.setName(mat.getMatnr() + " - " + mat.getMaktx()); vo.setName(mat.getSpecs() + "-" + mat.getMaktx() + " - " + mat.getMatnr()); vo.setValue(mat.getMatnr()); valueVos.add(vo); } src/main/java/com/zy/asrs/controller/MobileController.java
@@ -48,6 +48,60 @@ @Autowired private PackService packService; // æ£ææ£ç´¢æçä¿¡æ¯ @RequestMapping("/piking/auth") @ManagerAuth public R pikingAuth(String barcode) { WrkMast wrkMast = wrkMastService.selectByBarcode(barcode); if (wrkMast.getIoType() != 103){ throw new CoolException("æ¤æçç ä¸ä¸ºæ£æåºåº"); } List<WrkDetl> wrkDetls = wrkDetlService.selectByWrkNo(wrkMast.getWrkNo()); return R.ok().add(wrkDetls); } // æ£æè½¬å ¨æ¿ @RequestMapping("/piking/to/full") @ManagerAuth @Transactional public R pikingToFull(String barcode) { WrkMast wrkMast = wrkMastService.selectByBarcode(barcode); if (wrkMast.getIoType() != 103){ throw new CoolException(barcode + "ä¸ä¸ºæ£æåºåº"); } if(Cools.isEmpty(wrkMast)){ throw new CoolException("工使¡£ä¸è½ä¸ºç©º"); } Date now = new Date(); List<LocDetl> locDetls = locDetlService.selectByLocNo(wrkMast.getSourceLocNo()); wrkMast.setIoType(101); wrkMast.setSourceStaNo(wrkMast.getStaNo()); wrkMast.setStaNo(200); wrkMastService.updateById(wrkMast); wrkDetlService.deleteByWrkNo(wrkMast.getWrkNo()); for(LocDetl locDetl : locDetls){ WrkDetl wrkDetl = new WrkDetl(); wrkDetl.setWrkNo(wrkMast.getWrkNo()); wrkDetl.setModiTime(now); wrkDetl.sync(locDetl); wrkDetlService.insert(wrkDetl); } LocMast locMast = locMastService.selectById(wrkMast.getSourceLocNo()); if (locMast.getLocSts().equals("P")) { locMast.setLocSts("R"); locMast.setModiTime(now); if (!locMastService.updateById(locMast)) { throw new CoolException("æ¹ååºä½ç¶æå¤±è´¥"); } } locMastService.updateById(locMast); return R.ok("è½¬æ¢æå"); } // ç»æ ---------------------------------------------------------------------------------------------------- /** @@ -287,6 +341,17 @@ return R.ok(); } @RequestMapping("/checkDetl/auth2") @ManagerAuth public R getCheckDetl2(String barcode) { WrkMast wrkMast = wrkMastService.selectByBarcode(barcode); if (wrkMast.getIoType() != 107){ throw new CoolException("æ¤æçç ä¸ä¸ºçç¹åºåº"); } List<WrkDetl> wrkDetls = wrkDetlService.selectByWrkNo(wrkMast.getWrkNo()); return R.ok().add(wrkDetls); } @RequestMapping("/adjust/auth") @ManagerAuth(memo = "çç¹") public R adjust(@RequestBody MobileAdjustParam combParam){ @@ -294,5 +359,12 @@ return R.ok("çç¹æå"); } @RequestMapping("/adjustNew/auth") @ManagerAuth(memo = "çç¹") public R adjustNew(@RequestBody MobileAdjustParam combParam){ mobileService.adjustNew(combParam, getUserId()); return R.ok("çç¹æå"); } } src/main/java/com/zy/asrs/entity/LocMast.java
@@ -176,6 +176,11 @@ @TableField("ctn_no") private String ctnNo; /** * æ¯å¦å»ç» */ @ApiModelProperty(value= "æ¯å¦å»ç»") private Integer frozen; public String getWhsType$(){ BasWhsService service = SpringUtils.getBean(BasWhsService.class); @@ -290,4 +295,15 @@ return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(this.errorTime); } public String getFrozen$() { if (null == this.frozen){ return null; } switch (this.frozen){ case 0: return ""; case 1: return "å·²å»ç»"; default: return null; } } } src/main/java/com/zy/asrs/entity/OrderDetl.java
@@ -6,6 +6,8 @@ import com.baomidou.mybatisplus.enums.IdType; import com.core.common.Cools; import com.core.common.SpringUtils; import com.zy.asrs.service.LocDetlService; import com.zy.asrs.service.OrderDetlService; import com.zy.asrs.service.OrderService; import com.zy.common.utils.Synchro; import com.zy.system.entity.User; @@ -285,6 +287,12 @@ @ApiModelProperty(value= "夿³¨") private String memo; /** * åºåæ±æ»æ°é */ @TableField(exist=false) private Double sum; public OrderDetl() {} public OrderDetl(Long orderId, String orderNo, Double anfme, Double qty, String matnr, String maktx, String batch, String specs, String model, String color, String brand, String unit, Double price, String sku, Double units, String barcode, String origin, String manu, String manuDate, String itemNum, Double safeQty, Double weight, Double length, Double volume, String threeCode, String supp, String suppCode, Integer beBatch, String deadTime, Integer deadWarn, Integer source, Integer inspect, Integer danger, Integer status, Long createBy, Date createTime, Long updateBy, Date updateTime, String memo) { @@ -443,4 +451,12 @@ Synchro.Copy(source, this); } public Double getSum(){ LocDetlService service = SpringUtils.getBean(LocDetlService.class); if (!Cools.isEmpty(this.getMatnr())) { return service.selectSumByMatnr(this.getMatnr()); } else { return null; } } } src/main/java/com/zy/asrs/entity/WaitPakin.java
@@ -152,6 +152,9 @@ @ApiModelProperty(value= "夿³¨") private String memo; @ApiModelProperty(value= "æ¯å¦å»ç»") private Integer frozen; public String getBeBatch$(){ if (null == this.beBatch){ return null; } switch (this.beBatch){ src/main/java/com/zy/asrs/entity/WrkDetl.java
@@ -268,6 +268,11 @@ */ @ApiModelProperty(value= "夿³¨") private String memo; /** * æ¯å¦å»ç» */ @ApiModelProperty(value= "æ¯å¦å»ç»") private Integer frozen; public String getIoTime$(){ if (Cools.isEmpty(this.ioTime)){ src/main/java/com/zy/asrs/entity/WrkMast.java
@@ -335,6 +335,11 @@ @TableField("take_none") private String takeNone; /** * æ¯å¦å»ç» */ @ApiModelProperty(value= "æ¯å¦å»ç»") private Integer frozen; public WrkMast() {} public String getYmd$(){ src/main/java/com/zy/asrs/entity/param/CombParam.java
@@ -16,6 +16,9 @@ // æçæ¡ç private String barcode; // æ¯å¦å»ç» private Integer frozen; private List<CombMat> combMats; @Data @@ -30,6 +33,9 @@ // ç©ææ°é private Double anfme; // 夿³¨ private String memo; } } src/main/java/com/zy/asrs/entity/param/MobileAdjustParam.java
@@ -15,6 +15,8 @@ private Integer wrkNo; private String barcode; private List<WrkDetl> wrkDetls; } src/main/java/com/zy/asrs/mapper/LocMastMapper.java
@@ -14,6 +14,7 @@ public interface LocMastMapper extends BaseMapper<LocMast> { List<LocMast> queryFreeLocMast(@Param("rows") List<Integer> rows, @Param("rowsLen") Integer rowsLen, @Param("locType1") Short locType1); List<LocMast> queryFreeLocMast2(@Param("rows") List<Integer> rows, @Param("rowsLen") Integer rowsLen, @Param("locType1") Short locType1, @Param("inoutEveryday") Boolean inoutEveryday); @Select("select loc_no from asr_loc_mast where 1=1 and loc_sts = 'O' and crn_no = #{crnNo}") List<String> queryGroupEmptyStock(Integer crnNo); src/main/java/com/zy/asrs/service/LocMastService.java
@@ -12,6 +12,7 @@ * æ£ç´¢å¯ç¨åºä½ */ List<LocMast> queryFreeLocMast(List<Integer> rows, Integer rowsLen, Short locType1); List<LocMast> queryFreeLocMast2(List<Integer> rows, Integer rowsLen, Short locType1,Boolean inoutEveryday); /** * è·ååç»è´§æ¶ç空åºä½ src/main/java/com/zy/asrs/service/MobileService.java
@@ -14,7 +14,10 @@ * çç¹ */ void adjust(MobileAdjustParam param, Long userId); void adjustNew(MobileAdjustParam param, Long userId); void packComb(CombParam param, Long userId); void pikingToFull(String s); } src/main/java/com/zy/asrs/service/impl/BasDevpServiceImpl.java
@@ -59,7 +59,7 @@ if(station.getWrkNo()!=null && station.getWrkNo()>0 && station.getWrkNo() < 9990) { WrkMast wrkMast = wrkMastService.selectById(station.getWrkNo()); if (wrkMast.getIoType() != 103 && wrkMast.getIoType() != 104 && wrkMast.getIoType() != 107) { if (wrkMast!=null && wrkMast.getIoType() != 103 && wrkMast.getIoType() != 104 && wrkMast.getIoType() != 107) { throw new CoolException(devpNo+"ç«ç¹å·²æå·¥ä½å·"); } src/main/java/com/zy/asrs/service/impl/LocMastServiceImpl.java
@@ -30,6 +30,10 @@ public List<LocMast> queryFreeLocMast(List<Integer> rows, Integer rowsLen, Short locType1) { return this.baseMapper.queryFreeLocMast(rows, rowsLen, locType1); } @Override public List<LocMast> queryFreeLocMast2(List<Integer> rows, Integer rowsLen, Short locType1,Boolean inoutEveryday) { return this.baseMapper.queryFreeLocMast2(rows, rowsLen, locType1,inoutEveryday); } @Override public List<String> queryGroupEmptyStock(String sourceLocNo) { src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java
@@ -63,6 +63,10 @@ private ApiLogService apiLogService; @Autowired private WorkLogHandler workLogHandler; @Autowired private AdjDetlService adjDetlService; @Autowired private CheckRecordService checkRecordService; @Override @Transactional @@ -93,7 +97,7 @@ // çæå ¥åºéç¥æ¡£ List<DetlDto> detlDtos = new ArrayList<>(); param.getCombMats().forEach(elem -> { DetlDto detlDto = new DetlDto(elem.getMatnr(), elem.getBatch(), elem.getAnfme()); DetlDto detlDto = new DetlDto(elem.getMatnr(), elem.getBatch(), elem.getAnfme(), elem.getMemo()); if (DetlDto.has(detlDtos, detlDto)) { DetlDto one = DetlDto.find(detlDtos, detlDto.getMatnr(), detlDto.getBatch()); assert one != null; @@ -120,6 +124,8 @@ waitPakin.setAppeTime(now); waitPakin.setModiUser(userId); waitPakin.setModiTime(now); waitPakin.setMemo(detlDto.getMemo()); waitPakin.setFrozen(param.getFrozen()); // æ¯å¦å»ç» if (!waitPakinService.insert(waitPakin)) { throw new CoolException("ä¿åå ¥åºéç¥æ¡£å¤±è´¥"); } @@ -177,6 +183,70 @@ orderService.updateSettle(order.getId(), 2L, userId); } } @Override @Transactional public void adjustNew(MobileAdjustParam param, Long userId) { WrkMast wrkMast = wrkMastService.selectOne(new EntityWrapper<WrkMast>().eq("barcode", param.getBarcode())); if (Cools.isEmpty(wrkMast)){ throw new CoolException("æçç :"+param.getBarcode()+" æ ææå·¥ä½æ¡£"); }else if (wrkMast.getIoType()!=107){ throw new CoolException("æçç :"+param.getBarcode()+" æå±å·¥ä½æ¡£éçç¹ä»»å¡"); }else if (wrkMast.getWrkSts()!=17.0){ throw new CoolException("æçç :"+param.getBarcode()+" æå±å·¥ä½æ¡£å·¥ä½ç¶æä¸æ¯åºåºå®æ"); }else { } List<WrkDetl> wrkDetls = param.getWrkDetls(); String recordRecordLog="æçç "+param.getBarcode()+"çç¹è®°å½ï¼"; AdjDetl adjDetl=new AdjDetl(); adjDetl.setAppeTime(new Date()); adjDetl.setAppeUser(userId); adjDetl.setModiTime(new Date()); adjDetl.setModiUser(userId); adjDetl.setLocNo(wrkMast.getSourceLocNo()); CheckRecord checkRecord=new CheckRecord(); checkRecord.setLocNo(wrkMast.getSourceLocNo()); checkRecord.setBarcode(param.getBarcode()); checkRecord.setCreateTime(new Date()); for (WrkDetl wrkDetl:wrkDetls){ WrkDetl wrkDetlOld = wrkDetlService.selectOne(new EntityWrapper<WrkDetl>() .eq("wrk_no", wrkMast.getWrkNo()) .eq("matnr",wrkDetl.getMatnr()) // .eq("batch",wrkDetl.getBatch()) ); adjDetl.setMatnr(wrkDetl.getMatnr()); adjDetl.setBatch(wrkDetl.getBatch()); adjDetl.setAdjQty(wrkDetl.getAnfme()); checkRecord.setMatnr(wrkDetl.getMatnr()); checkRecord.setMaktx(wrkDetl.getMaktx()); checkRecord.setSpecs(wrkDetl.getSpecs()); checkRecord.setBatch(wrkDetl.getBatch()); checkRecord.setConfirmQty(wrkDetl.getAnfme()); if (Cools.isEmpty(wrkDetlOld)){ wrkDetl.setWrkNo(wrkMast.getWrkNo()); wrkDetlService.insert(wrkDetl); recordRecordLog=recordRecordLog+"\n"+"æ°å¢ä¸æ¡æç»:"+"\tååç¼å·ï¼"+wrkDetl.getMatnr()+"\tæ¹å·ï¼"+wrkDetl.getBatch()+"\tæ°éï¼"+wrkDetl.getAnfme(); adjDetl.setOriQty(0.0); adjDetlService.insert(adjDetl); checkRecord.setAnfme(0.0); checkRecordService.insert(checkRecord); }else if (wrkDetlOld.getAnfme()!=wrkDetl.getAnfme()){ wrkDetlService.updateAnfme(wrkDetl.getAnfme(),wrkMast.getWrkNo(),wrkDetl.getMatnr(),wrkDetl.getBatch()); recordRecordLog=recordRecordLog+"\n"+"æ´æ°ä¸æ¡æç»:"+"\tååç¼å·ï¼"+wrkDetl.getMatnr()+"\tæ¹å·ï¼"+wrkDetl.getBatch()+"\tåæ°éï¼"+wrkDetlOld.getAnfme()+"\tæ°æ°éï¼"+wrkDetl.getAnfme(); adjDetl.setOriQty(wrkDetlOld.getAnfme()); adjDetlService.insert(adjDetl); checkRecord.setAnfme(wrkDetlOld.getAnfme()); checkRecordService.insert(checkRecord); }else if (wrkDetlOld.getAnfme()==wrkDetl.getAnfme()){ recordRecordLog=recordRecordLog+"\n"+"䏿¡æç»ä¿æä¸å:"+"\tååç¼å·ï¼"+wrkDetl.getMatnr()+"\tæ¹å·ï¼"+wrkDetl.getBatch()+"\tæ°éï¼"+wrkDetlOld.getAnfme(); continue; }else { throw new CoolException("æçç :"+param.getBarcode()+" æªç¥å¼å¸¸ï¼è¯·è系管çå"); } } log.info(recordRecordLog); } @Override @@ -414,4 +484,9 @@ } } @Override @Transactional public void pikingToFull(String barcode) { wrkMastService.selectByBarcode(barcode); } } src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
@@ -102,7 +102,7 @@ wrkMast.setIoType(1); // å ¥åºåºç¶æï¼1.å ¥åº Double ioPri = wrkMastService.getIoPri(1, dto.getLocNo()); wrkMast.setIoPri(ioPri); // ä¼å 级ï¼13 wrkMast.setOutMost(locMastService.isOutMost(dto.getLocNo(), true)?1:0);; wrkMast.setOutMost(locMastService.isOutMost(dto.getLocNo(), true) ? 1 : 0); wrkMast.setCrnNo(dto.getCrnNo()); wrkMast.setSourceStaNo(dto.getSourceStaNo()); wrkMast.setStaNo(dto.getStaNo()); @@ -138,20 +138,20 @@ sourceStaNo.setWrkNo(workNo); sourceStaNo.setModiUser(userId); sourceStaNo.setModiTime(now); if (!basDevpService.updateById(sourceStaNo)){ if (!basDevpService.updateById(sourceStaNo)) { throw new CoolException("æ´æ°æºç«å¤±è´¥"); } // æ´æ°ç®æ åºä½ç¶æ LocMast locMast = locMastService.selectById(dto.getLocNo()); if (locMast.getLocSts().equals("O")){ if (locMast.getLocSts().equals("O")) { locMast.setLocSts("S"); // S.å ¥åºé¢çº¦ locMast.setModiUser(userId); locMast.setModiTime(now); if (!locMastService.updateById(locMast)){ if (!locMastService.updateById(locMast)) { throw new CoolException("æ¹ååºä½ç¶æå¤±è´¥"); } } else { throw new CoolException(dto.getLocNo()+"ç®æ åºä½å·²è¢«å ç¨"); throw new CoolException(dto.getLocNo() + "ç®æ åºä½å·²è¢«å ç¨"); } return dto.getLocNo(); } @@ -234,7 +234,7 @@ wrkMast.setIoType(ioType); // å ¥åºåºç¶æ Double ioPri = wrkMastService.getIoPri(ioType, dto.getLocNo()); wrkMast.setIoPri(ioPri); // ä¼å 级ï¼13 wrkMast.setOutMost(locMastService.isOutMost(dto.getLocNo(), false)?1:0);; wrkMast.setOutMost(locMastService.isOutMost(dto.getLocNo(), false) ? 1 : 0); wrkMast.setCrnNo(locMast.getCrnNo()); wrkMast.setSourceStaNo(staDesc.getCrnStn()); // æºç« wrkMast.setStaNo(staDesc.getStnNo()); // ç®æ ç« @@ -250,17 +250,19 @@ wrkMast.setModiUser(userId); wrkMast.setModiTime(now); if (!wrkMastService.insert(wrkMast)) { throw new CoolException("ä¿å工使¡£å¤±è´¥ï¼åºåºåºä½å·ï¼"+dto.getLocNo()); throw new CoolException("ä¿å工使¡£å¤±è´¥ï¼åºåºåºä½å·ï¼" + dto.getLocNo()); } // çæå·¥ä½æ¡£æç» for (LocDetlDto detlDto : dto.getLocDetlDtos()) { if (detlDto.getCount()==null || detlDto.getCount() <= 0.0D) {continue;} if (detlDto.getCount() == null || detlDto.getCount() <= 0.0D) { continue; } WrkDetl wrkDetl = new WrkDetl(); wrkDetl.sync(detlDto.getLocDetl()); wrkDetl.setOrderNo(""); // æå¨åºåºä¸éè¦å¸¦åºåºåä¸çåæ®ç¼å· wrkDetl.setWrkNo(workNo); wrkDetl.setIoTime(now); Double anfme = ioType==101?detlDto.getLocDetl().getAnfme():detlDto.getCount(); Double anfme = ioType == 101 ? detlDto.getLocDetl().getAnfme() : detlDto.getCount(); wrkDetl.setAnfme(anfme); // æ°é wrkDetl.setAppeTime(now); wrkDetl.setAppeUser(userId); @@ -273,11 +275,11 @@ // ä¿®æ¹åºä½ç¶æ: F.å¨åº ====>>> R.åºåºé¢çº¦/P.æ£æ/çç¹/å¹¶æ¿åºåºä¸ locMast = locMastService.selectById(dto.getLocNo()); if (locMast.getLocSts().equals("F")) { locMast.setLocSts(ioType==101?"R":"P"); locMast.setLocSts(ioType == 101 ? "R" : "P"); locMast.setModiUser(userId); locMast.setModiTime(now); if (!locMastService.updateById(locMast)) { throw new CoolException("é¢çº¦åºä½ç¶æå¤±è´¥ï¼åºä½å·ï¼"+dto.getLocNo()); throw new CoolException("é¢çº¦åºä½ç¶æå¤±è´¥ï¼åºä½å·ï¼" + dto.getLocNo()); } } else { throw new CoolException(dto.getLocNo() + "åºä½ä¸æ¯å¨åºç¶æ"); @@ -311,7 +313,7 @@ wrkMast.setIoType(ioType); // å ¥åºåºç¶æ Double ioPri = wrkMastService.getIoPri(ioType, taskDto.getLocNo()); wrkMast.setIoPri(ioPri); // ä¼å 级ï¼13 wrkMast.setOutMost(locMastService.isOutMost(taskDto.getLocNo(), false)?1:0);; wrkMast.setOutMost(locMastService.isOutMost(taskDto.getLocNo(), false) ? 1 : 0); wrkMast.setCrnNo(locMast.getCrnNo()); wrkMast.setSourceStaNo(staDesc.getCrnStn()); // æºç« wrkMast.setStaNo(staDesc.getStnNo()); // ç®æ ç« @@ -327,11 +329,13 @@ wrkMast.setModiUser(userId); wrkMast.setModiTime(now); if (!wrkMastService.insert(wrkMast)) { throw new CoolException("ä¿å工使¡£å¤±è´¥ï¼åºåºåºä½å·ï¼"+taskDto.getLocNo()); throw new CoolException("ä¿å工使¡£å¤±è´¥ï¼åºåºåºä½å·ï¼" + taskDto.getLocNo()); } // çæå·¥ä½æ¡£æç» for (LocDto locDto : taskDto.getLocDtos()) { if (locDto.getAnfme()==null || locDto.getAnfme() <= 0.0D) { continue; } if (locDto.getAnfme() == null || locDto.getAnfme() <= 0.0D) { continue; } LocDetl locDetl = locDetlService.selectItem(locDto.getLocNo(), locDto.getMatnr(), locDto.getBatch()); if (locDetl == null || locDetl.getAnfme() < locDto.getAnfme()) { throw new CoolException(locDto.getLocNo() + "åºä½ä¸" + locDto.getMatnr() + "åååºåä¸è¶³ï¼"); @@ -356,21 +360,32 @@ // ä¿®æ¹è®¢åæç» if (BaseController.isJSON(locDto.getOrderNo())) { String[] orderNos = GetOrderNo(locDto.getOrderNo()); Double anfme = locDto.getAnfme(); for (String orderNo:orderNos){ OrderDetl orderDetl = orderDetlService.selectItem(orderNo, locDto.getMatnr(), locDto.getBatch()); if (orderDetl == null) { orderDetl = orderDetlService.selectItem(orderNo, locDto.getMatnr(), null); if (!Cools.isEmpty(orderNos)){ Double anfme = locDto.getAnfme(); for (String orderNo : orderNos) { OrderDetl orderDetl = orderDetlService.selectItem(orderNo, locDto.getMatnr(), locDto.getBatch()); if (orderDetl == null) { orderDetl = orderDetlService.selectItem(orderNo, locDto.getMatnr(), null); } if (orderDetl.getAnfme() <= anfme) { if (!orderDetlService.increase(orderDetl.getOrderId(), orderDetl.getMatnr(), orderDetl.getBatch(), orderDetl.getAnfme())) { throw new CoolException("ä¿®æ¹è®¢åæç»æ°é失败"); } anfme = anfme - orderDetl.getAnfme(); } else { if (!orderDetlService.increase(orderDetl.getOrderId(), orderDetl.getMatnr(), orderDetl.getBatch(), anfme)) { throw new CoolException("ä¿®æ¹è®¢åæç»æ°é失败"); } } orderService.updateSettle(orderDetl.getOrderId(), 2L, userId); } if (orderDetl.getAnfme()<=anfme){ if (!orderDetlService.increase(orderDetl.getOrderId(), orderDetl.getMatnr(), orderDetl.getBatch(),orderDetl.getAnfme())) { throw new CoolException("ä¿®æ¹è®¢åæç»æ°é失败"); } anfme=anfme-orderDetl.getAnfme(); }else{ if (!orderDetlService.increase(orderDetl.getOrderId(), orderDetl.getMatnr(), orderDetl.getBatch(),anfme)) { throw new CoolException("ä¿®æ¹è®¢åæç»æ°é失败"); } }else { OrderDetl orderDetl = orderDetlService.selectItem(locDto.getOrderNo(), locDto.getMatnr(), locDto.getBatch()); if (orderDetl == null) { orderDetl = orderDetlService.selectItem(locDto.getOrderNo(), locDto.getMatnr(), null); } if (!orderDetlService.increase(orderDetl.getOrderId(), orderDetl.getMatnr(), orderDetl.getBatch(), locDto.getAnfme())) { throw new CoolException("ä¿®æ¹è®¢åæç»æ°é失败"); } orderService.updateSettle(orderDetl.getOrderId(), 2L, userId); } @@ -392,48 +407,51 @@ // ä¿®æ¹åºä½ç¶æ: F.å¨åº ====>>> R.åºåºé¢çº¦/P.æ£æ/çç¹/å¹¶æ¿åºåºä¸ locMast = locMastService.selectById(taskDto.getLocNo()); if (locMast.getLocSts().equals("F")) { locMast.setLocSts(ioType==101?"R":"P"); locMast.setLocSts(ioType == 101 ? "R" : "P"); locMast.setModiUser(userId); locMast.setModiTime(now); if (!locMastService.updateById(locMast)) { throw new CoolException("é¢çº¦åºä½ç¶æå¤±è´¥ï¼åºä½å·ï¼"+taskDto.getLocNo()); throw new CoolException("é¢çº¦åºä½ç¶æå¤±è´¥ï¼åºä½å·ï¼" + taskDto.getLocNo()); } } else { throw new CoolException(taskDto.getLocNo() + "åºä½ä¸æ¯å¨åºç¶æ"); } } private String[] GetOrderNo(String orderNo){ String s1 = Recombination(orderNo, ","); String s2 = Recombination(s1, "\"}"); String[] s3= s2.split("\""); String[] s =new String[(s3.length-1)/3]; int i=0; int j=0; for (String ss:s3){ if (ss.equals("orderNo")){ s[i]=s3[j+2]; private String[] GetOrderNo(String orderNo) { String[] s3 = orderNo.split("\""); String[] s = new String[(s3.length - 1) / 6]; if (!Cools.isEmpty(s3)){ int i = 0; int j = 0; for (String ss : s3) { if (ss.equals("orderNo")) { s[i] = s3[j + 2]; i++; } j++; } }else { s=null; } return s; } private String[] GetAnfme(String orderNo) { String[] s3 = orderNo.split("\""); String[] s = new String[(s3.length - 1) / 6]; int i = 0; int j = 0; for (String ss : s3) { if (ss.equals("anfme")) { String[] s4 = s3[j + 1].split(":"); String[] s5 = s4[1].split("\\."); s[i] = s5[0]; i++; } j++; } return s; } private String Recombination(String a,String b){ String[] d=a.split(b); String c=""; if (b.equals(",")){ for (int i=0;i<d.length;i++){ if (i%2!=0){ c=c+d[i]; } } }else if(b.equals("\"}")){ for (int i=0;i<d.length-1;i++){ c=c+d[i]; } } return c; } @Override @@ -453,7 +471,7 @@ wrkMast.setIoType(10); // å ¥åºåºç¶æï¼10.空æ¿å ¥åº Double ioPri = wrkMastService.getIoPri(10, dto.getLocNo()); wrkMast.setIoPri(ioPri); // ä¼å 级ï¼10 wrkMast.setOutMost(locMastService.isOutMost(dto.getLocNo(), true)?1:0);; wrkMast.setOutMost(locMastService.isOutMost(dto.getLocNo(), true) ? 1 : 0); wrkMast.setCrnNo(dto.getCrnNo()); wrkMast.setSourceStaNo(dto.getSourceStaNo()); wrkMast.setStaNo(dto.getStaNo()); @@ -477,20 +495,20 @@ sourceStaNo.setWrkNo(workNo); sourceStaNo.setModiUser(userId); sourceStaNo.setModiTime(new Date()); if (!basDevpService.updateById(sourceStaNo)){ if (!basDevpService.updateById(sourceStaNo)) { throw new CoolException("æ´æ°æºç«å¤±è´¥"); } // æ´æ°ç®æ åºä½ç¶æ LocMast locMast = locMastService.selectById(dto.getLocNo()); if (locMast.getLocSts().equals("O")){ if (locMast.getLocSts().equals("O")) { locMast.setLocSts("S"); // S.å ¥åºé¢çº¦ locMast.setModiUser(userId); locMast.setModiTime(new Date()); if (!locMastService.updateById(locMast)){ if (!locMastService.updateById(locMast)) { throw new CoolException("æ¹ååºä½ç¶æå¤±è´¥"); } } else { throw new CoolException(dto.getLocNo()+"ç®æ åºä½å·²è¢«å ç¨"); throw new CoolException(dto.getLocNo() + "ç®æ åºä½å·²è¢«å ç¨"); } return dto.getLocNo(); } @@ -514,7 +532,7 @@ // è·ååºä½ LocMast locMast = locMastService.selectById(locNo); if (Cools.isEmpty(locMast)) { throw new CoolException(locNo+"åºä½ä¸åå¨"); throw new CoolException(locNo + "åºä½ä¸åå¨"); } // è·åæºç« Wrapper<StaDesc> wrapper = new EntityWrapper<StaDesc>() @@ -539,7 +557,7 @@ wrkMast.setIoPri(ioPri); wrkMast.setSourceStaNo(sourceStaNo); // æºç« wrkMast.setStaNo(param.getOutSite()); // ç®æ ç« wrkMast.setOutMost(locMastService.isOutMost(locNo, false)?1:0);; wrkMast.setOutMost(locMastService.isOutMost(locNo, false) ? 1 : 0); wrkMast.setCrnNo(locMast.getCrnNo()); wrkMast.setSourceLocNo(locNo); // æºåºä½ wrkMast.setFullPlt("N"); // 满æ¿ï¼Y @@ -556,7 +574,7 @@ throw new CoolException("ä¿å工使¡£å¤±è´¥"); } // æ´æ°åºä½ç¶æ D.ç©ºæ¿ -> R.åºåºé¢çº¦ if (locMast.getLocSts().equals("D")){ if (locMast.getLocSts().equals("D")) { locMast.setLocSts("R"); locMast.setModiUser(userId); locMast.setModiTime(new Date()); @@ -596,11 +614,11 @@ public void locMove(String sourceLocNo, String locNo, Long userId) { LocMast sourceLoc = locMastService.selectById(sourceLocNo); List<LocDetl> locDetls = locDetlService.selectList(new EntityWrapper<LocDetl>().eq("loc_no", sourceLocNo)); if (Cools.isEmpty(sourceLoc)){ if (Cools.isEmpty(sourceLoc)) { throw new CoolException("æªæ¾å°åºä½"); } LocMast loc = locMastService.selectById(locNo); if (Cools.isEmpty(loc)){ if (Cools.isEmpty(loc)) { throw new CoolException("æªæ¾å°åºä½"); } if (!sourceLoc.getCrnNo().equals(loc.getCrnNo())) { @@ -616,14 +634,14 @@ wrkMast.setWrkSts(11L); // å·¥ä½ç¶æï¼11.çæåºåºID wrkMast.setIoType(11); // å ¥åºåºç¶æï¼ 11.åºæ ¼ç§»è½½ wrkMast.setIoPri(10D); wrkMast.setOutMost(locMastService.isOutMost(locNo, false)?1:0);; wrkMast.setOutMost(locMastService.isOutMost(locNo, false) ? 1 : 0); wrkMast.setCrnNo(sourceLoc.getCrnNo()); wrkMast.setSourceLocNo(sourceLocNo); // æºåºä½ wrkMast.setLocNo(locNo); // ç®æ åºä½ wrkMast.setFullPlt(Cools.isEmpty(locDetls)?"N":"Y"); // 满æ¿ï¼Y wrkMast.setFullPlt(Cools.isEmpty(locDetls) ? "N" : "Y"); // 满æ¿ï¼Y wrkMast.setPicking("N"); // æ£æ wrkMast.setExitMk("N"); // éåº wrkMast.setEmptyMk(sourceLoc.getLocSts().equals("D")?"Y":"N"); // ç©ºæ¿ wrkMast.setEmptyMk(sourceLoc.getLocSts().equals("D") ? "Y" : "N"); // ç©ºæ¿ wrkMast.setBarcode(sourceLoc.getBarcode()); // æçç wrkMast.setLinkMis("N"); wrkMast.setAppeUser(userId); @@ -654,11 +672,11 @@ sourceLoc.setLocSts("R"); // R.åºåºé¢çº¦ sourceLoc.setModiUser(userId); sourceLoc.setModiTime(now); if (!locMastService.updateById(sourceLoc)){ if (!locMastService.updateById(sourceLoc)) { throw new CoolException("æ´æ°æºåºä½ç¶æå¤±è´¥"); } } else { throw new CoolException(sourceLoc.getLocNo() + "æºåºä½åºåºå¤±è´¥ï¼ç¶æï¼"+sourceLoc.getLocSts$()); throw new CoolException(sourceLoc.getLocNo() + "æºåºä½åºåºå¤±è´¥ï¼ç¶æï¼" + sourceLoc.getLocSts$()); } // ä¿®æ¹ç®æ åºä½ç¶æ if (loc.getLocSts().equals("O")) { @@ -669,7 +687,7 @@ throw new CoolException("æ´æ°ç®æ åºä½ç¶æå¤±è´¥"); } } else { throw new CoolException("移转失败ï¼ç®æ åºä½ç¶æï¼"+loc.getLocSts$()); throw new CoolException("移转失败ï¼ç®æ åºä½ç¶æï¼" + loc.getLocSts$()); } } @@ -677,14 +695,14 @@ @Transactional public void completeWrkMast(String workNo, Long userId) { WrkMast wrkMast = wrkMastService.selectById(workNo); if (Cools.isEmpty(wrkMast)){ throw new CoolException(workNo+"工使¡£ä¸åå¨"); if (Cools.isEmpty(wrkMast)) { throw new CoolException(workNo + "工使¡£ä¸åå¨"); } if (wrkMast.getWrkSts() == 9 || wrkMast.getWrkSts() == 17) { throw new CoolException("å½å工使¡£å·²å®æ"); } // å ¥åº + åºä½è½¬ç§» if (wrkMast.getWrkSts() < 9 || (wrkMast.getWrkSts() > 10 && wrkMast.getIoType()==11)) { if (wrkMast.getWrkSts() < 9 || (wrkMast.getWrkSts() > 10 && wrkMast.getIoType() == 11)) { wrkMast.setWrkSts(9L); // åºåº } else if (wrkMast.getWrkSts() > 10) { @@ -727,7 +745,9 @@ Iterator<LocDetlAdjustParam.LocDetlAdjust> iterator1 = list.iterator(); while (iterator1.hasNext()) { LocDetlAdjustParam.LocDetlAdjust adjust = iterator1.next(); if (adjust.getCount() == 0) { continue; } if (adjust.getCount() == 0) { continue; } if (locDetl.getMatnr().equals(adjust.getMatnr()) && Cools.eq(locDetl.getBatch(), adjust.getBatch())) { if (!locDetl.getAnfme().equals(adjust.getCount())) { // todo çç¹è®°å½ @@ -776,7 +796,9 @@ // æ·»å åºå for (LocDetlAdjustParam.LocDetlAdjust adjust : list) { if (adjust.getCount() == 0.0D) { continue; } if (adjust.getCount() == 0.0D) { continue; } Mat mat = matService.selectByMatnr(adjust.getMatnr()); LocDetl locDetl = new LocDetl(); locDetl.sync(mat); @@ -827,8 +849,8 @@ @Transactional public void cancelWrkMast(String workNo, Long userId) { WrkMast wrkMast = wrkMastService.selectById(workNo); if (Cools.isEmpty(wrkMast)){ throw new CoolException(workNo+"工使¡£ä¸åå¨"); if (Cools.isEmpty(wrkMast)) { throw new CoolException(workNo + "工使¡£ä¸åå¨"); } String locNo = ""; // å¾ ä¿®æ¹ç®æ åºä½ String locSts = ""; // å¾ ä¿®æ¹ç®æ åºä½ç¶æ @@ -842,29 +864,29 @@ // åºä½è½¬ç§»ï¼æºåºä½ LocMast locMast = locMastService.selectById(wrkMast.getSourceLocNo()); if (Cools.isEmpty(locMast)) { throw new CoolException("åæ¶åºä½è½¬ç§»å¤±è´¥ï¼æºåºä½ä¸åå¨:"+ wrkMast.getSourceLocNo()); throw new CoolException("åæ¶åºä½è½¬ç§»å¤±è´¥ï¼æºåºä½ä¸åå¨:" + wrkMast.getSourceLocNo()); } locMast.setLocSts("F"); locMast.setModiTime(new Date()); locMast.setModiUser(userId); locMastService.updateById(locMast); } // åºåºåæ¶ï¼ä¿®æ¹æºåºä½ï¼ // åºåºåæ¶ï¼ä¿®æ¹æºåºä½ï¼ } else if (wrkMast.getWrkSts() > 10 && wrkMast.getWrkSts() != 19) { locNo = wrkMast.getSourceLocNo(); // åºåº ===>> F.å¨åº if (wrkMast.getIoType() > 100 && wrkMast.getIoType() != 110) { locSts = "F"; // 空æ¿åºåº ===>> D.空桶/ç©ºæ æ¿ // 空æ¿åºåº ===>> D.空桶/ç©ºæ æ¿ } else if (wrkMast.getIoType() == 110) { locSts = "D"; // åºä½è½¬ç§» ===>> D.空桶/ç©ºæ æ¿ // åºä½è½¬ç§» ===>> D.空桶/ç©ºæ æ¿ } else if (wrkMast.getIoType() == 11) { locSts = wrkMast.getFullPlt().equalsIgnoreCase("N")?"D":"F"; locSts = wrkMast.getFullPlt().equalsIgnoreCase("N") ? "D" : "F"; // åºä½è½¬ç§»ï¼ç®æ åºä½ LocMast locMast = locMastService.selectById(wrkMast.getLocNo()); if (Cools.isEmpty(locMast)) { throw new CoolException("åæ¶åºä½è½¬ç§»å¤±è´¥ï¼ç®æ åºä½ä¸åå¨:"+ wrkMast.getSourceLocNo()); throw new CoolException("åæ¶åºä½è½¬ç§»å¤±è´¥ï¼ç®æ åºä½ä¸åå¨:" + wrkMast.getSourceLocNo()); } locMast.setLocSts("O"); locMast.setModiTime(new Date()); @@ -877,17 +899,42 @@ // 订åå ³è List<WrkDetl> wrkDetls = wrkDetlService.selectByWrkNo(wrkMast.getWrkNo()); for (WrkDetl wrkDetl : wrkDetls) { if (!Cools.isEmpty(wrkDetl.getOrderNo())) { if (BaseController.isJSON(wrkDetl.getOrderNo())) { if (!orderDetlService.decrease(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), wrkDetl.getBatch(), wrkDetl.getAnfme())) { throw new CoolException("è®¢åæ°æ®åæ»å¤±è´¥"); if (!Cools.isEmpty(wrkDetl.getOrderNo())){ String[] orderNos = GetOrderNo(wrkDetl.getOrderNo()); if (!Cools.isEmpty(orderNos)){ String[] anfmes = GetAnfme(wrkDetl.getOrderNo()); int i = 0; for (String orderNo : orderNos) { if (!Cools.isEmpty(orderNo)) { Double anfme = Integer.parseInt(anfmes[i]) + 0.0; i++; if (BaseController.isJSON(wrkDetl.getOrderNo())) { if (!orderDetlService.decrease(orderNo, wrkDetl.getMatnr(), wrkDetl.getBatch(), anfme)) { throw new CoolException("è®¢åæ°æ®åæ»å¤±è´¥"); } } else { // 订ååå¹¶åºåº List<OrderDto> orderDtoList = JSON.parseArray(wrkDetl.getOrderNo(), OrderDto.class); for (OrderDto orderDto : orderDtoList) { if (!orderDetlService.decrease(orderDto.getOrderNo(), wrkDetl.getMatnr(), wrkDetl.getBatch(), orderDto.getAnfme())) { throw new CoolException("è®¢åæ°æ®åæ»å¤±è´¥"); } } } } } } else { // 订ååå¹¶åºåº List<OrderDto> orderDtoList = JSON.parseArray(wrkDetl.getOrderNo(), OrderDto.class); for (OrderDto orderDto : orderDtoList) { if (!orderDetlService.decrease(orderDto.getOrderNo(), wrkDetl.getMatnr(), wrkDetl.getBatch(), orderDto.getAnfme())) { }else { if (BaseController.isJSON(wrkDetl.getOrderNo())) { if (!orderDetlService.decrease(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), wrkDetl.getBatch(), wrkDetl.getAnfme())) { throw new CoolException("è®¢åæ°æ®åæ»å¤±è´¥"); } } else { // 订ååå¹¶åºåº List<OrderDto> orderDtoList = JSON.parseArray(wrkDetl.getOrderNo(), OrderDto.class); for (OrderDto orderDto : orderDtoList) { if (!orderDetlService.decrease(orderDto.getOrderNo(), wrkDetl.getMatnr(), wrkDetl.getBatch(), orderDto.getAnfme())) { throw new CoolException("è®¢åæ°æ®åæ»å¤±è´¥"); } } } } @@ -919,7 +966,7 @@ // ä¿®æ¹åºä½ç¶æ LocMast locMast = locMastService.selectById(locNo); if (Cools.isEmpty(locMast)) { throw new CoolException("忶工使¡£å¤±è´¥ï¼åºä½ä¸åå¨:"+ locNo); throw new CoolException("忶工使¡£å¤±è´¥ï¼åºä½ä¸åå¨:" + locNo); } locMast.setLocSts(locSts); locMast.setModiTime(new Date()); @@ -934,8 +981,8 @@ @Transactional public void pickWrkMast(String workNo, Long userId) { WrkMast wrkMast = wrkMastService.selectById(workNo); if (Cools.isEmpty(wrkMast)){ throw new CoolException(workNo+"工使¡£ä¸åå¨"); if (Cools.isEmpty(wrkMast)) { throw new CoolException(workNo + "工使¡£ä¸åå¨"); } // å ¥åºåºç±»å夿 if (wrkMast.getIoType() != 103 && wrkMast.getIoType() != 104 && wrkMast.getIoType() != 107) { @@ -1048,11 +1095,11 @@ while (iterator.hasNext()) { LocMast sourceLoc = locMastService.selectById(sourceLocNo); List<LocDetl> locDetls = locDetlService.selectList(new EntityWrapper<LocDetl>().eq("loc_no", sourceLocNo)); if (Cools.isEmpty(sourceLoc)){ if (Cools.isEmpty(sourceLoc)) { throw new CoolException("æªæ¾å°åºä½"); } LocMast loc = iterator.next(); if (Cools.isEmpty(loc)){ if (Cools.isEmpty(loc)) { throw new CoolException("æªæ¾å°åºä½"); } if (!sourceLoc.getCrnNo().equals(loc.getCrnNo())) { @@ -1067,14 +1114,14 @@ wrkMast.setWrkSts(11L); // å·¥ä½ç¶æï¼11.çæåºåºID wrkMast.setIoType(11); // å ¥åºåºç¶æï¼ 11.åºæ ¼ç§»è½½ wrkMast.setIoPri(15D); wrkMast.setOutMost(locMastService.isOutMost(loc.getLocNo(), false)?1:0);; wrkMast.setOutMost(locMastService.isOutMost(loc.getLocNo(), false) ? 1 : 0); wrkMast.setCrnNo(sourceLoc.getCrnNo()); wrkMast.setSourceLocNo(sourceLocNo); // æºåºä½ wrkMast.setLocNo(loc.getLocNo()); // ç®æ åºä½ wrkMast.setFullPlt(Cools.isEmpty(locDetls)?"N":"Y"); // 满æ¿ï¼Y wrkMast.setFullPlt(Cools.isEmpty(locDetls) ? "N" : "Y"); // 满æ¿ï¼Y wrkMast.setPicking("N"); // æ£æ wrkMast.setExitMk("N"); // éåº wrkMast.setEmptyMk(sourceLoc.getLocSts().equals("D")?"Y":"N"); // ç©ºæ¿ wrkMast.setEmptyMk(sourceLoc.getLocSts().equals("D") ? "Y" : "N"); // ç©ºæ¿ wrkMast.setBarcode(sourceLoc.getBarcode()); // æçç wrkMast.setLinkMis("N"); wrkMast.setAppeUser(9527L); @@ -1105,11 +1152,11 @@ sourceLoc.setLocSts("R"); // R.åºåºé¢çº¦ sourceLoc.setModiUser(9527L); sourceLoc.setModiTime(now); if (!locMastService.updateById(sourceLoc)){ if (!locMastService.updateById(sourceLoc)) { throw new CoolException("æ´æ°æºåºä½ç¶æå¤±è´¥"); } } else { throw new CoolException(sourceLoc.getLocNo() + "æºåºä½åºåºå¤±è´¥ï¼ç¶æï¼"+sourceLoc.getLocSts$()); throw new CoolException(sourceLoc.getLocNo() + "æºåºä½åºåºå¤±è´¥ï¼ç¶æï¼" + sourceLoc.getLocSts$()); } // ä¿®æ¹ç®æ åºä½ç¶æ if (loc.getLocSts().equals("O")) { @@ -1120,7 +1167,7 @@ throw new CoolException("æ´æ°ç®æ åºä½ç¶æå¤±è´¥"); } } else { throw new CoolException("移转失败ï¼ç®æ åºä½ç¶æï¼"+loc.getLocSts$()); throw new CoolException("移转失败ï¼ç®æ åºä½ç¶æï¼" + loc.getLocSts$()); } iterator.remove(); src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java
@@ -127,6 +127,7 @@ if (locMast.getLocSts().equals("S")) { locMast.setLocSts("F"); locMast.setBarcode(wrkMast.getBarcode()); locMast.setFrozen(wrkMast.getFrozen()); locMast.setIoTime(now); locMast.setModiTime(now); if (!locMastService.updateById(locMast)) { @@ -207,6 +208,24 @@ if (wrkDetls57.isEmpty()) { exceptionHandle("çç¹å ¥åº ===>> å·¥ä½æç»æ¡£ä¸ºç©ºï¼[workNo={0}]", wrkMast.getWrkNo()); } if(!Cools.isEmpty(locDetlService.selectByLocNo(wrkMast.getLocNo()))){ locDetlService.delete(new EntityWrapper<LocDetl>().eq("loc_no", wrkMast.getLocNo())); } if (Cools.isEmpty(locDetlService.selectByLocNo(wrkMast.getLocNo()))){ for (WrkDetl wrkDetl:wrkDetls57){ LocDetl locDetl = new LocDetl(); locDetl.sync(wrkDetl); locDetl.setLocNo(wrkMast.getLocNo()); // åºä½å· locDetl.setAnfme(wrkDetl.getAnfme()); // æ°é locDetl.setZpallet(wrkDetl.getZpallet()); // æçæ¡ç locDetl.setModiTime(now); locDetl.setAppeTime(now); if (!locDetlService.insert(locDetl)) { exceptionHandle("çç¹å ¥åº ===>> æ°å¢åºåæç»å¤±è´¥ï¼[workNo={0}],[matnr={1}]", wrkMast.getWrkNo(), wrkDetl.getMatnr()); } } } // ä¿®æ¹åºä½ç¶æ Q ====>> F if (locMast.getLocSts().equals("Q")) { locMast.setLocSts(wrkMast.getFullPlt().equals("Y")?"F":"D"); @@ -277,6 +296,36 @@ } assert locMast != null; switch (wrkMast.getIoType()) { case 11://ç§»åºååååºä½ String locSts = "R"; // åºä½ç§»è½¬å¤ææ¯å¦ä¸ºç©ºæ¿ç§»è½¬ if (wrkMast.getEmptyMk().equals("N")) { // 转移åºåæç»æ°æ®: åºåå· ç±å·¥ä½æ¡£æºåºä½åä¸ºç®æ åºä½ if (!locDetlService.updateLocNo(wrkMast.getLocNo(), wrkMast.getSourceLocNo())) { exceptionHandle("åºä½ç§»è½¬ ===>> 转移åºåæç»æ°æ®å¤±è´¥ï¼[æºåºä½={0}],[ç®æ åºä½={1}]", wrkMast.getSourceLocNo(), wrkMast.getLocNo()); } } // ä¿®æ¹æºåºä½ç¶æ ==> O LocMast sourceLoc = locMastService.selectById(wrkMast.getSourceLocNo()); if (null != sourceLoc && !sourceLoc.getLocSts().equals("O")) { sourceLoc.setBarcode(""); sourceLoc.setLocSts("O"); sourceLoc.setModiTime(now); sourceLoc.setIoTime(now); if (!locMastService.updateById(sourceLoc)) { exceptionHandle("åºä½ç§»è½¬ ===>> ä¿®æ¹æºåºä½ç¶æå¤±è´¥ï¼[workNo={0}],[sourceLoc={1}]", wrkMast.getWrkNo(), wrkMast.getSourceLocNo()); } // ä¿®æ¹ç®æ åºä½ç¶æ ==> .locSts locMast.setLocSts(locSts); locMast.setBarcode(wrkMast.getBarcode()); locMast.setIoTime(now); locMast.setModiTime(now); if (!locMastService.updateById(locMast)) { exceptionHandle("åºä½ç§»è½¬ ===>> ä¿®æ¹ç®æ åºä½ç¶æå¤±è´¥ï¼[workNo={0}],[locNo={1}]", wrkMast.getWrkNo(), wrkMast.getLocNo()); } } break; // å ¨æ¿åºåº case 101: // åºåºç¡®è®¤ä¿¡å·ä½ @@ -299,6 +348,7 @@ if (locMast.getLocSts().equals("R")) { locMast.setLocSts("O"); locMast.setBarcode(""); locMast.setFrozen(0); locMast.setModiTime(now); locMast.setIoTime(now); if (!locMastService.updateById(locMast)) { @@ -322,11 +372,13 @@ default: break; } // ä¿®æ¹å·¥ä½ä¸»æ¡£ç¶æ wrkMast.setWrkSts(18L); wrkMast.setModiTime(now); if (!wrkMastService.updateById(wrkMast)) { exceptionHandle("æ´æ°åºåºå®æç¶æå¤±è´¥;[workNo={0}]", wrkMast.getWrkNo()); if(wrkMast.getIoType()!=11) { // ä¿®æ¹å·¥ä½ä¸»æ¡£ç¶æ wrkMast.setWrkSts(18L); wrkMast.setModiTime(now); if (!wrkMastService.updateById(wrkMast)) { exceptionHandle("æ´æ°åºåºå®æç¶æå¤±è´¥;[workNo={0}]", wrkMast.getWrkNo()); } } } catch (Exception e) { log.error("fail", e); src/main/java/com/zy/common/model/DetlDto.java
@@ -21,6 +21,9 @@ private Double anfme; private String memo; public DetlDto() { } @@ -40,6 +43,7 @@ this.anfme = anfme; } public DetlDto(String orderNo, String matnr, String batch, Double anfme) { this.orderNo = orderNo; this.matnr = matnr; @@ -47,6 +51,14 @@ this.anfme = anfme; } public DetlDto(String matnr, String batch, Double anfme, String memo) { this.matnr = matnr; this.batch = batch; this.anfme = anfme; this.memo = memo; } public static boolean hasList(Set<DetlDto> detlDtos, OrderDetl orderDetl) { for (DetlDto dto : detlDtos) { if (Cools.isEmpty(dto.getBatch()) && Cools.isEmpty(orderDetl.getBatch())) { src/main/java/com/zy/common/service/CommonService.java
@@ -55,6 +55,8 @@ private LocDetlService locDetlService; @Autowired private SlaveProperties slaveProperties; @Autowired private MatService matService; /** * çæå·¥ä½å· @@ -274,7 +276,11 @@ if (locMast == null) { List<Integer> rows = Utils.getGroupLoc(curRow); List<LocMast> locMasts = locMastService.queryFreeLocMast(rows, rows.size(), locTypeDto.getLocType1()); Mat mat = matService.selectByMatnr(matNos.get(0)); if (Cools.isEmpty(mat.getInoutEveryday())){ mat.setInoutEveryday(false); } List<LocMast> locMasts = locMastService.queryFreeLocMast2(rows, rows.size(), locTypeDto.getLocType1(),mat.getInoutEveryday()); if (!Cools.isEmpty(locMasts)) { Integer innermostRow = Utils.getInnermostRow(locMasts.get(0).getLocNo()); for (LocMast one : locMasts) { src/main/java/com/zy/common/web/WcsController.java
@@ -138,6 +138,11 @@ // æä½äººåæ°æ® wrkMast.setAppeTime(now); wrkMast.setModiTime(now); if(waitPakins.size()>0) { WaitPakin one = waitPakins.get(0); wrkMast.setFrozen(one.getFrozen()); } boolean res = wrkMastService.insert(wrkMast); if (!res) { throw new CoolException("ä¿å工使¡£å¤±è´¥"); src/main/resources/application.yml
@@ -11,8 +11,8 @@ datasource: driver-class-name: com.microsoft.sqlserver.jdbc.SQLServerDriver # url: jdbc:sqlserver://10.10.10.100:1433;databasename=bfasrs url: jdbc:sqlserver://localhost:1433;databasename=bfasrs # url: jdbc:sqlserver://192.168.4.15:1433;databasename=bfasrs # url: jdbc:sqlserver://localhost:1433;databasename=bfasrs url: jdbc:sqlserver://192.168.4.15:1433;databasename=bfasrs username: sa # password: Zoneyung@zy56$ password: sa@123 src/main/resources/mapper/LocDetlMapper.xml
@@ -237,7 +237,7 @@ from asr_loc_detl a left join asr_loc_mast b on a.loc_no = b.loc_no where 1=1 and b.loc_sts = 'F' and b.loc_sts = 'F' and b.frozen != 1 and a.matnr = #{matnr} and b.row1 >= 1 and b.row1 <= 3 @@ -251,7 +251,7 @@ from asr_loc_detl a left join asr_loc_mast b on a.loc_no = b.loc_no where 1=1 and b.loc_sts = 'F' and b.loc_sts = 'F' and b.frozen != 1 and a.matnr = #{matnr} and b.row1 >= 4 and b.row1 <= 7 @@ -265,7 +265,7 @@ from asr_loc_detl a left join asr_loc_mast b on a.loc_no = b.loc_no where 1=1 and b.loc_sts = 'F' and b.loc_sts = 'F' and b.frozen != 1 and a.matnr = #{matnr} and b.row1 >= 8 and b.row1 <= 11 @@ -279,7 +279,7 @@ from asr_loc_detl a left join asr_loc_mast b on a.loc_no = b.loc_no where 1=1 and b.loc_sts = 'F' and b.loc_sts = 'F' and b.frozen != 1 and a.matnr = #{matnr} and b.row1 >= 12 and b.row1 <= 14 @@ -293,7 +293,7 @@ from asr_loc_detl a left join asr_loc_mast b on a.loc_no = b.loc_no where 1=1 and b.loc_sts = 'F' and b.loc_sts = 'F' and b.frozen != 1 and a.matnr = #{matnr} and b.row1 >= 15 and b.row1 <= 18 @@ -307,7 +307,7 @@ from asr_loc_detl a left join asr_loc_mast b on a.loc_no = b.loc_no where 1=1 and b.loc_sts = 'F' and b.loc_sts = 'F' and b.frozen != 1 and a.matnr = #{matnr} and b.row1 >= 19 and b.row1 <= 21 src/main/resources/mapper/LocMastMapper.xml
@@ -77,4 +77,46 @@ ) </select> <select id="queryFreeLocMast2" resultMap="BaseResultMap"> select * from asr_loc_mast where 1=1 <if test="inoutEveryday == false "> and bay1 > 10 </if> <if test="inoutEveryday == true"> and bay1 < 11 </if> and row1 in <foreach item="item" collection="rows" index="index" separator="," open="(" close=")"> #{item} </foreach> and ctn_no = ( select top 1 ctn_no from ( select ctn_no, count(1) as count from asr_loc_mast where 1=1 and row1 in <foreach item="item" collection="rows" index="index" separator="," open="(" close=")"> #{item} </foreach> and loc_sts = 'O' <if test="locType1 != null"> and loc_type1 = #{locType1} </if> and loc_no not in ('0100101', '0200101', '0300101', '1200701', '1300701', '1400701', '1900401', '2000401', '2100401') group by ctn_no ) a where count = #{rowsLen} order by right(ctn_no, 2) + 0 asc, left(ctn_no, 3) + 0 asc ) </select> </mapper> src/main/webapp/static/js/locMast/locMast.js
@@ -27,6 +27,7 @@ // ,{field: 'ctnType', align: 'center',title: ''} // ,{field: 'locSts', align: 'center',title: ''} // ,{field: 'sheetNo', align: 'center',title: ''} ,{field: 'frozen$', align: 'center',title: 'å»ç»ç¶æ'} ,{field: 'crnNo', align: 'center',title: 'å åæºå·'} ,{field: 'row1', align: 'center',title: 'æ', sort:true} ,{field: 'bay1', align: 'center',title: 'å', sort:true} @@ -56,7 +57,7 @@ ,{field: 'locType1$', align: 'center',title: 'é«ä½ç±»å'} // ,{field: 'locType2$', align: 'center',title: '宽çªç±»å'} // ,{field: 'locType3$', align: 'center',title: 'è½»éç±»å'} // ,{field: 'frozen$', align: 'center',title: 'æ¯å¦å»ç»'} ,{fixed: 'right', title:'æä½', align: 'center', toolbar: '#operate', width:100} ]], request: { @@ -64,6 +65,7 @@ pageSize: 'limit' }, parseData: function (res) { console.log(res) return { 'code': res.code, 'msg': res.msg, @@ -458,7 +460,7 @@ barcode: $('#barcode').val(), PdcType: $('#PdcType').val(), ctnNo: $('#ctnNo').val(), frozen: $('#frozen').val() }; $.ajax({ url: baseUrl+"/locMast/"+name+"/auth", src/main/webapp/static/js/stoMan/stoQue.js
@@ -39,6 +39,7 @@ html += "disabled='disabled' >"; return html; },width:80} ,{field: 'frozen$', align: 'center',title: 'å»ç»ç¶æ'} ,{field: 'modiUser$', align: 'center',title: 'ä¿®æ¹äººå'} ,{field: 'modiTime$', align: 'center',title: 'ä¿®æ¹æ¶é´', width: 180} ,{ fixed: 'right', title:'æä½', align: 'center', toolbar: '#operate'} src/main/webapp/views/locDetl/locDetl.html
@@ -45,7 +45,7 @@ <div id="data-search-btn" class="layui-btn-container layui-form-item" style="display: inline-block"> <button id="search" class="layui-btn layui-btn-primary layui-btn-radius" lay-submit lay-filter="search">æç´¢</button> <button id="reset" class="layui-btn layui-btn-primary layui-btn-radius" lay-submit lay-filter="reset">éç½®</button> <button id="unreason" class="layui-btn layui-btn-primary layui-btn-radius" lay-submit lay-filter="unreason">æ¥çå¼å¸¸æ°æ®</button> <!-- <button id="unreason" class="layui-btn layui-btn-primary layui-btn-radius" lay-submit lay-filter="unreason">æ¥çå¼å¸¸æ°æ®</button>--> </div> </div> src/main/webapp/views/locMast/locMast_detail.html
@@ -77,6 +77,17 @@ <input id="sheetNo" class="layui-input" type="text"> </div> </div> <!-- å»ç» --> <div class="layui-inline" style="width:80%;"> <label class="layui-form-label">å»ç»</label> <div class="layui-input-inline"> <select id="frozen" name="frozen"> <option style="display: none"></option> <option value="0">æªå»ç»</option> <option value="1">å»ç»</option> </select> </div> </div> <div class="layui-inline" style="width:80%;"> <label class="layui-form-label">å åæºå·ï¼</label> <div class="layui-input-inline"> version/±ß·æÊý¾Ý¿â¸Ä¶¯20221028/±ß·æÊý¾Ý¿â¸Ä¶¯.md
@@ -23,3 +23,9 @@ asr_check_record ``` æ°å¢å»ç»å段frozen int é»è®¤å¼0 ç»ææ¡£ï¼å ¥åºéç¥æ¡£/å岿¡£è¡¨ å·¥ä½ä¸»æ¡£/å岿¡£ åºåæ¡£ å·²æåºåæ°æ®éè¦åå§åfrozenå¼ä¸º0