| | |
| | | return R.error("未找到此条码"); |
| | | } |
| | | |
| | | ArrayList<HashMap<String, Object>> list = new ArrayList<>(); |
| | | List<String> orderNos = new ArrayList<>(); |
| | | List<HashMap<String, Object>> list = new ArrayList<>(); |
| | | for (NccXsckmxTkWms nccXsckmxTkWms : nccXsckmxTkWmsList) { |
| | | if (orderNos.contains(nccXsckmxTkWms.getVsourcebillcode())) { |
| | | continue; |
| | | } |
| | | orderNos.add(nccXsckmxTkWms.getVsourcebillcode()); |
| | | HashMap<String, Object> map = new HashMap<>(); |
| | | |
| | | Mat mat = matService.selectByMatnr(nccXsckmxTkWms.getWlbm()); |
| | |
| | | |
| | | int updateAnfme(@Param("anfme")Double anfme, @Param("wrkNo")Integer wrkNo, @Param("matnr")String matnr, @Param("batch")String batch); |
| | | |
| | | int updateWeight(@Param("weight")Double weight, @Param("wrkNo")Integer wrkNo, @Param("matnr")String matnr, @Param("batch")String batch); |
| | | |
| | | List<WrkDetl> selectAndLogByOrderNo(String orderNo); |
| | | |
| | | int updateInspect( @Param("wrkNo")Integer wrkNo, @Param("matnr")String matnr, @Param("batch")String batch); |
| | |
| | | |
| | | void report(Order order, List<OrderDetl> orderDetls, DocType docType) throws Exception; |
| | | |
| | | void reportTkrk(String batch, Double anfme); |
| | | void reportTkrk(String batch, String orderNo, Double anfme); |
| | | |
| | | } |
| | |
| | | |
| | | //转换关系 |
| | | String origin = mat.getOrigin(); |
| | | if (Cools.isEmpty(origin)) { |
| | | return true; |
| | | } |
| | | String[] split = origin.split("/"); |
| | | //辅单位 |
| | | Double weight = (anfme / Double.parseDouble(split[1])) / Double.parseDouble(split[0]); |
| | |
| | | if (!wrkDetlService.insert(wrkDetl)) { |
| | | throw new CoolException("添加" + wrkMast.getWrkNo() + "盘点任务," + wrkDetl.getMatnr() + "商品," + wrkDetl.getBatch() + "批号任务明细失败"); |
| | | } |
| | | } |
| | | List<WrkDetl> wrkDetls1 = wrkDetlService.selectByWrkNo(wrkMast.getWrkNo()); |
| | | for (WrkDetl wrkDetl : wrkDetls1) { |
| | | LocDetlAdjustParam.LocDetlAdjust locDetlAdjust = new LocDetlAdjustParam.LocDetlAdjust(wrkDetl.getMatnr(), wrkDetl.getBatch(), wrkDetl.getAnfme()); |
| | | locDetlAdjusts.add(locDetlAdjust); |
| | | |
| | | String locNo = Cools.isEmpty(wrkMast.getLocNo()) ? wrkMast.getSourceLocNo() : wrkMast.getLocNo(); |
| | | List<InventoryCheckOrderDetl> checkOrderDetls = inventoryCheckOrderDetlService.selectList(new EntityWrapper<InventoryCheckOrderDetl>().eq("loc_no", locNo)); |
| | | for (InventoryCheckOrderDetl checkOrderDetl : checkOrderDetls) { |
| | | if (wrkDetl.getMatnr().equals(checkOrderDetl.getMatnr()) && Cools.eq(wrkDetl.getBatch(), checkOrderDetl.getBatch())) { |
| | | checkOrderDetl.setCheckAnfme(wrkDetl.getAnfme()); |
| | | checkOrderDetl.setStatus("2"); |
| | | } else { |
| | | InventoryCheckOrderDetl newDetl = new InventoryCheckOrderDetl(); |
| | | Synchro.Copy(wrkDetl, newDetl); |
| | | newDetl.setAnfme(0D); |
| | | newDetl.setCheckAnfme(wrkDetl.getAnfme()); |
| | | newDetl.setOrderNo(checkOrderDetl.getOrderNo()); |
| | | newDetl.setStatus("2"); |
| | | inventoryCheckOrderDetlService.updateById(checkOrderDetl); |
| | | } |
| | | } |
| | | } |
| | | List<WrkDetl> wrkDetls1 = wrkDetlService.selectByWrkNo(wrkMast.getWrkNo()); |
| | | for (WrkDetl wrkDetl : wrkDetls1) { |
| | | LocDetlAdjustParam.LocDetlAdjust locDetlAdjust = new LocDetlAdjustParam.LocDetlAdjust(wrkDetl.getMatnr(), wrkDetl.getBatch(), wrkDetl.getAnfme()); |
| | | locDetlAdjusts.add(locDetlAdjust); |
| | | } |
| | | // 修改盘点任务主档状态 |
| | | wrkMast.setFullPlt(wrkDetls1.size() != 0 ? "Y" : "N"); |
| | |
| | | orderDetl.setLineNumber(detlDto.getLineNumber()); |
| | | orderDetl.setBatch(detlDto.getBatch()); |
| | | orderDetl.setAnfme(detlDto.getAnfme()); |
| | | orderDetl.setWeight(detlDto.getWeight()); |
| | | orderDetl.setBrand(detlDto.getBrand()); |
| | | orderDetl.setStandby1(detlDto.getStandby1()); |
| | | orderDetl.setStandby2(detlDto.getStandby2()); |
| | |
| | | } |
| | | |
| | | @Override |
| | | public void reportTkrk(String batch, Double anfme) { |
| | | Object process1 = processTKRK(batch, anfme); |
| | | public void reportTkrk(String batch, String orderNo, Double anfme) { |
| | | Object process1 = processTKRK(batch, orderNo, anfme); |
| | | //发送请求 |
| | | NcResultMessage response = SendUtil.sendDataToNc(SendUtil.token, nyncIp + ":" + port, saveRefDelivery, JSONObject.toJSONString(process1)); |
| | | log.info("销售发货response:{}", response); |
| | |
| | | return data; |
| | | } |
| | | |
| | | private Object processTKRK(String batch, Double anfme) { |
| | | private Object processTKRK(String batch, String orderNo, Double anfme) { |
| | | EntityWrapper<NccXsckmxTkWms> wrapper = new EntityWrapper<>(); |
| | | wrapper.like("VBATCHCODE", batch); |
| | | wrapper.eq("VBATCHCODE", batch).eq("VSOURCEBILLCODE", orderNo); |
| | | NccXsckmxTkWms nccXsckmxTkWms = nccXsckmxTkWmsService.selectOne(wrapper); |
| | | if (null == nccXsckmxTkWms) { |
| | | throw new CoolException("未找到此条码"); |
| | | } |
| | | |
| | | NccSaleXsfhmxWms nccSaleXsfhmxWms = nccSaleXsfhmxWmsService.selectOne(new EntityWrapper<NccSaleXsfhmxWms>() |
| | | .eq("VBILLCODE", nccXsckmxTkWms.getVsourcebillcode())); |
| | | .eq("VBILLCODE", nccXsckmxTkWms.getVsourcebillcode()) |
| | | .eq("WLBM", nccXsckmxTkWms.getWlbm()) |
| | | ); |
| | | if(null == nccSaleXsfhmxWms) { |
| | | throw new CoolException("未找到销售单据"); |
| | | } |
| | |
| | | if (anfme <= 0) { |
| | | return this.baseMapper.deleteItem(wrkNo, matnr, batch) > 0; |
| | | } else { |
| | | return baseMapper.updateAnfme(anfme, wrkNo, matnr, batch) > 0; |
| | | boolean result = baseMapper.updateAnfme(anfme, wrkNo, matnr, batch) > 0; |
| | | if (!result) { |
| | | return false; |
| | | } |
| | | |
| | | //更新辅料 |
| | | Mat mat = matService.selectByMatnr(matnr); |
| | | if (mat == null) { |
| | | return false; |
| | | } |
| | | |
| | | //转换关系 |
| | | String origin = mat.getOrigin(); |
| | | if (Cools.isEmpty(origin)) { |
| | | return true; |
| | | } |
| | | String[] split = origin.split("/"); |
| | | //辅单位 |
| | | Double weight = (anfme / Double.parseDouble(split[1])) / Double.parseDouble(split[0]); |
| | | return baseMapper.updateWeight(weight, wrkNo, matnr, batch) > 0; |
| | | } |
| | | } |
| | | |
| | |
| | | // 入库通知单 |
| | | if (!Cools.isEmpty(wrkMast.getBarcode())) { |
| | | WaitPakin waitPakin = waitPakinService.selectOne(new EntityWrapper<WaitPakin>().eq("zpallet", wrkMast.getBarcode())); |
| | | if ("Y".equals(waitPakin.getTkFlag())) { |
| | | reportToThirdService.reportTkrk(waitPakin.getBatch(), waitPakin.getAnfme()); |
| | | if (!Cools.isEmpty(waitPakin.getTkFlag())) { |
| | | reportToThirdService.reportTkrk(waitPakin.getBatch(), waitPakin.getTkFlag(), waitPakin.getAnfme()); |
| | | } |
| | | |
| | | // 保存入库通知档历史档 |
| | |
| | | <include refid="batchSeq"></include> |
| | | </update> |
| | | |
| | | <update id="updateWeight"> |
| | | update asr_wrk_detl |
| | | set weight = #{weight} |
| | | , modi_time = getdate() |
| | | where 1=1 |
| | | and wrk_no = #{wrkNo} |
| | | and matnr = #{matnr} |
| | | <include refid="batchSeq"></include> |
| | | </update> |
| | | |
| | | <select id="selectAndLogByOrderNo" resultMap="BaseResultMap"> |
| | | select awd.* |
| | | from asr_wrk_detl awd |