| | |
| | | return R.ok("组托成功"); |
| | | } |
| | | |
| | | @RequestMapping("/AgvUnlockLoc/wcs/auth") |
| | | public R agvUnlockLoc(@RequestBody AgvUnlockLoc agvUnlockLoc){ |
| | | mobileService.agvUnlockLoc(agvUnlockLoc); |
| | | return R.ok("离库成功"); |
| | | } |
| | | |
| | | @RequestMapping("/kitting/query/auth") |
| | | @ManagerAuth(memo = "齐套入库查询") |
| | | public R kittingQuery(@RequestBody CombParam combParam){ |
| | |
| | | locDtos.add(locDto); |
| | | } |
| | | } |
| | | }else if(orderPakOut.getDocType() == 7){ |
| | | for (OrderDetlPakout orderDetl : orderDetlPakouts) { |
| | | double issued = Optional.of(orderDetl.getAnfme() - orderDetl.getWorkQty()).orElse(0.0D); |
| | | if (issued <= 0.0D) { |
| | | continue; |
| | | } |
| | | List<LocDetl> locDetls = null; |
| | | locDetls = locDetlService.queryStockAll123(null, exist,orderDetl.getMatnr(), orderDetl.getBoxType3()); |
| | | |
| | | for (LocDetl locDetl : locDetls) { |
| | | if (issued > 0) { |
| | | LocDto locDto = new LocDto(locDetl.getLocNo(), locDetl.getMatnr(), locDetl.getMaktx(), locDetl.getBatch(), orderDetl.getOrderNo(), |
| | | issued >= locDetl.getAnfme() ? locDetl.getAnfme() : issued); |
| | | LocMast locMast = locMastService.selectOne(new EntityWrapper<LocMast>().eq("loc_no", locDetl.getLocNo())); |
| | | locDto.setFrozen(locDetl.getFrozen()); |
| | | locDto.setFrozenLoc(locMast.getFrozen()); |
| | | List<Integer> staNos = staDescService.queryOutStaNosByLocNo(locDetl.getLocNo(), issued >= locDetl.getAnfme() ? 101 : 103); |
| | | locDto.setStaNos(staNos); |
| | | locDto.setBrand(orderDetl.getBrand()); |
| | | locDto.setStandby1(orderDetl.getStandby1()); |
| | | locDto.setStandby2(orderDetl.getStandby2()); |
| | | locDto.setStandby3(orderDetl.getStandby3()); |
| | | locDto.setBoxType1(orderDetl.getBoxType1()); |
| | | locDto.setBoxType2(orderDetl.getBoxType2()); |
| | | locDto.setBoxType3(orderDetl.getBoxType3()); |
| | | locDtos.add(locDto); |
| | | exist.add(locDetl.getLocNo()); |
| | | // 剩余待出数量递减 |
| | | issued = issued - locDetl.getAnfme(); |
| | | } else { |
| | | break; |
| | | } |
| | | } |
| | | if (issued > 0) { |
| | | LocDto locDto = new LocDto(null, orderDetl.getMatnr(), orderDetl.getMaktx(), orderDetl.getBatch(), orderDetl.getOrderNo(), issued); |
| | | locDto.setBrand(orderDetl.getBrand()); |
| | | locDto.setStandby1(orderDetl.getStandby1()); |
| | | locDto.setStandby2(orderDetl.getStandby2()); |
| | | locDto.setStandby3(orderDetl.getStandby3()); |
| | | locDto.setBoxType1(orderDetl.getBoxType1()); |
| | | locDto.setBoxType2(orderDetl.getBoxType2()); |
| | | locDto.setBoxType3(orderDetl.getBoxType3()); |
| | | locDto.setLack(Boolean.TRUE); |
| | | locDtos.add(locDto); |
| | | } |
| | | } |
| | | }else { |
| | | for (OrderDetlPakout orderDetl : orderDetlPakouts) { |
| | | double issued = Optional.of(orderDetl.getAnfme() - orderDetl.getWorkQty()).orElse(0.0D); |
| | |
| | | package com.zy.asrs.entity.param; |
| | | |
| | | import com.zy.asrs.entity.BasAgvLocDetl; |
| | | import com.zy.asrs.entity.LocDetl; |
| | | import lombok.Data; |
| | | |
| | |
| | | public class AgvLocListDetlParam { |
| | | private String locNo; //库位号 |
| | | private String locSys; //库位状态 |
| | | private List<LocDetl> agvDetlList; //明细 |
| | | private List<BasAgvLocDetl> agvDetlList; //明细 |
| | | } |
| New file |
| | |
| | | package com.zy.asrs.entity.param; |
| | | |
| | | import lombok.Data; |
| | | |
| | | @Data |
| | | public class AgvUnlockLoc { |
| | | private Integer floorNo; |
| | | private String reqCode; |
| | | private String podcode;//托盘码 |
| | | private String positionCode = "2034";//站点 |
| | | private String indBind; |
| | | } |
| | |
| | | @Mapper |
| | | @Repository |
| | | public interface BasAgvLocDetlMapper extends BaseMapper<BasAgvLocDetl> { |
| | | @Update("update asr_bas_agv_loc_detl set loc_no = #{newLocNo}, modi_time=getDate() where loc_no = #{oldLocNo}") |
| | | int updateLocNo(String newLocNo, String oldLocNo); |
| | | |
| | | BasAgvLocDetl selectItem(@Param("locNo")String locNo, @Param("matnr")String matnr, @Param("batch")String batch, |
| | |
| | | List<LocDetl> queryStockAll(@Param("orderNo")String orderNo, @Param("locNos") Set<String> locNos, @Param("matnr")String matnr, @Param("batch")String batch, |
| | | @Param("brand")String brand,@Param("standby1")String standby1,@Param("standby2")String standby2, |
| | | @Param("standby3")String standby3,@Param("boxType1")String boxType1,@Param("boxType2")String boxType2); |
| | | List<LocDetl> queryStockAll7(@Param("orderNo")String orderNo, @Param("locNos") Set<String> locNos, @Param("matnr")String matnr, @Param("standby1")String standby1,@Param("standby2")String standby2, |
| | | @Param("standby3")String standby3,@Param("boxType1")String boxType1,@Param("boxType2")String boxType2,@Param("boxType3")String boxType3); |
| | | List<LocDetl> queryStockAll123(@Param("orderNo")String orderNo, @Param("locNos") Set<String> locNos, @Param("matnr")String matnr, @Param("boxType3")String boxType3); |
| | | |
| | | Double queryStockAnfme(String matnr, String batch); |
| | | List<LocDetl> queryStockMatnr(@Param("matnr")String matnr); |
| | |
| | | int increaseWorkQty(@Param("orderId")Long orderId, @Param("matnr")String matnr, @Param("batch")String batch, @Param("brand")String brand, @Param("standby1")String standby1, @Param("standby2")String standby2, @Param("standby3")String standby3, @Param("workQty")Double workQty); |
| | | |
| | | List<OrderDetl> selectByOrderNo(@Param("orderNo") String orderNo); |
| | | boolean morpt(@Param("orderNo")String orderNo,@Param("matnr")String matnr); |
| | | |
| | | } |
| | |
| | | |
| | | // List<LocDetl> queryStockAll(String orderNo, Set<String> locNos,String matnr, String batch, String brand, String standby1, String standby2, String standby3, String boxType1, String boxType2, String boxType3); |
| | | List<LocDetl> queryStockAll(String orderNo, Set<String> locNos,String matnr, String batch, String brand, String standby1, String standby2, String standby3, String boxType1, String boxType2); |
| | | List<LocDetl> queryStockAll7(String orderNo, Set<String> locNos,String matnr, String standby1, String standby2, String standby3, String boxType1, String boxType2,String boxType3); |
| | | List<LocDetl> queryStockAll123(String orderNo, Set<String> locNos,String matnr, String boxType3); |
| | | |
| | | Double queryStockAnfme(String matnr, String batch); |
| | | |
| | |
| | | void comb(CombParam param, Long userId); |
| | | void combAuto(CombParam param, Long userId); |
| | | void combAgv(CombParam param, Long userId); |
| | | void agvUnlockLoc(AgvUnlockLoc agvUnlockLoc); |
| | | |
| | | /** |
| | | * 齐套入库查询 |
| | |
| | | * @return |
| | | */ |
| | | boolean increaseWorkQty(Long orderId, String matnr, String batch, String brand, String standby1, String standby2, String standby3, String boxType1, String boxType2, String boxType3, Double workQty); |
| | | boolean morpt(String orderNo,String orderNo1); |
| | | |
| | | List<OrderDetl> selectByOrderNo(String orderNo); |
| | | } |
| | |
| | | } |
| | | |
| | | @Override |
| | | public List<LocDetl> queryStockAll7(String orderNo, Set<String> locNos,String matnr, String standby1, String standby2, String standby3, String boxType1, String boxType2, String boxType3) { |
| | | return this.baseMapper.queryStockAll7(orderNo,locNos, matnr,standby1,standby2,standby3,boxType1,boxType2,boxType3); |
| | | } |
| | | |
| | | @Override |
| | | public List<LocDetl> queryStockAll123(String orderNo, Set<String> locNos,String matnr, String boxType3) { |
| | | return this.baseMapper.queryStockAll123(orderNo,locNos, matnr,boxType3); |
| | | } |
| | | @Override |
| | | public Double queryStockAnfme(String matnr, String batch) { |
| | | return this.baseMapper.queryStockAnfme(matnr, batch); |
| | | } |
| | |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.stereotype.Service; |
| | | import org.springframework.transaction.annotation.Transactional; |
| | | import org.springframework.transaction.interceptor.TransactionAspectSupport; |
| | | |
| | | import javax.annotation.Resource; |
| | | import java.util.*; |
| | |
| | | throw new CoolException(locDetl.getLocNo() + "库位不是在库状态"); |
| | | } |
| | | } |
| | | @Override |
| | | public void agvUnlockLoc(AgvUnlockLoc agvUnlockLoc){ |
| | | Date now = new Date(); |
| | | if(agvUnlockLoc.getFloorNo().equals(1)){ |
| | | LocMast locMast = locMastService.selectOne(new EntityWrapper<LocMast>().eq("loc_no",agvUnlockLoc.getPositionCode())); |
| | | if(locMast != null){ |
| | | locMast.setLocSts("O"); |
| | | locMast.setBarcode(""); |
| | | locMast.setIoTime(now); |
| | | locMast.setModiTime(now); |
| | | if (!locMastService.updateById(locMast)) { |
| | | throw new CoolException(agvUnlockLoc.getPositionCode() + "库位不是在库状态"); |
| | | } |
| | | } |
| | | }else{ |
| | | LocMast locMast = locMastService.selectOne(new EntityWrapper<LocMast>().eq("loc_no",agvUnlockLoc.getPositionCode())); |
| | | AgvBindCtnrAndBinTwoParam agvBindCtnrAndBinTwoParam = new AgvBindCtnrAndBinTwoParam(); |
| | | agvBindCtnrAndBinTwoParam.setReqCode(String.valueOf(snowflakeIdWorker.nextId())); |
| | | agvBindCtnrAndBinTwoParam.setPodcode(agvUnlockLoc.getPodcode()); |
| | | agvBindCtnrAndBinTwoParam.setPositionCode(agvUnlockLoc.getPositionCode()); |
| | | agvBindCtnrAndBinTwoParam.setIndBind("0");; |
| | | ReturnT<String> resultBind = new PostMesDataUtils().postMesDataArmGrating("AGV库位解绑", |
| | | AgvConstant.AGV_URL+"/"+AgvConstant.AGV_hikRpcService,AgvConstant.getAGVADAPTOR(2), agvBindCtnrAndBinTwoParam); |
| | | if (resultBind.getCode()!=1){ |
| | | if(locMast != null){ |
| | | locMast.setLocSts("O"); |
| | | locMast.setBarcode(""); |
| | | locMast.setIoTime(now); |
| | | locMast.setModiTime(now); |
| | | if (!locMastService.updateById(locMast)) { |
| | | throw new CoolException(agvUnlockLoc.getPositionCode() + "库位不是在库状态"); |
| | | } |
| | | } |
| | | } |
| | | } |
| | | |
| | | } |
| | | } |
| | |
| | | @Autowired |
| | | private BasArmMastService basArmMastService; |
| | | @Autowired |
| | | private BasAgvLocDetlService basAgvLocDetlService; |
| | | @Autowired |
| | | private BasArmMastSignService basArmMastSignService; |
| | | @Autowired |
| | | private BasAgvMastService basAgvMastService; |
| | |
| | | } |
| | | |
| | | private AgvLocListDetlParam buildAgvLocListDetlParam(String locNo, String locSts) { |
| | | List<LocDetl> detlList = locDetlService.selectList( |
| | | new EntityWrapper<LocDetl>().eq("loc_no", locNo) |
| | | List<BasAgvLocDetl> detlList = basAgvLocDetlService.selectList( |
| | | new EntityWrapper<BasAgvLocDetl>().eq("loc_no", locNo) |
| | | ); |
| | | |
| | | AgvLocListDetlParam dto = new AgvLocListDetlParam(); |
| | |
| | | import com.baomidou.mybatisplus.service.impl.ServiceImpl; |
| | | import com.core.common.Cools; |
| | | import com.core.exception.CoolException; |
| | | import com.zy.asrs.entity.OrderDetl; |
| | | import com.zy.asrs.entity.OrderDetlPakin; |
| | | import com.zy.asrs.entity.param.OrderDetlByCode; |
| | | import com.zy.asrs.mapper.OrderDetlPakinMapper; |
| | | import com.zy.asrs.service.OrderDetlPakinService; |
| | | import com.zy.asrs.service.OrderDetlService; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.stereotype.Service; |
| | | |
| | |
| | | public class OrderDetlPakinServiceImpl extends ServiceImpl<OrderDetlPakinMapper, OrderDetlPakin> implements OrderDetlPakinService { |
| | | @Autowired |
| | | private OrderDetlPakinService orderDetlPakinService; |
| | | @Autowired |
| | | private OrderDetlService orderDetlService; |
| | | @Override |
| | | public List<OrderDetlPakin> selectByOrderId(Long orderId) { |
| | | return this.selectList(new EntityWrapper<OrderDetlPakin>().eq("order_id", orderId)); |
| | |
| | | |
| | | @Override |
| | | public boolean morpt(String orderNo,String orderNo1){ |
| | | List<OrderDetlPakin> list1 = orderDetlPakinService.selectList(new EntityWrapper<OrderDetlPakin>().eq("order_no",orderNo1)); |
| | | List<OrderDetl> list1 = orderDetlService.selectList(new EntityWrapper<OrderDetl>().eq("order_no",orderNo1)); |
| | | try{ |
| | | for (OrderDetlPakin item : list1) { |
| | | for (OrderDetl item : list1) { |
| | | Double anfme = item.getAnfme(); |
| | | Double qty = item.getQty(); |
| | | String matnr = item.getMatnr(); |
| | |
| | | import com.baomidou.mybatisplus.mapper.EntityWrapper; |
| | | import com.baomidou.mybatisplus.plugins.Page; |
| | | import com.core.common.Cools; |
| | | import com.core.exception.CoolException; |
| | | import com.zy.asrs.entity.OrderDetlPakin; |
| | | import com.zy.asrs.mapper.OrderDetlMapper; |
| | | import com.zy.asrs.entity.OrderDetl; |
| | | import com.zy.asrs.service.OrderDetlPakinService; |
| | | import com.zy.asrs.service.OrderDetlService; |
| | | import com.baomidou.mybatisplus.service.impl.ServiceImpl; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.stereotype.Service; |
| | | |
| | | import java.util.List; |
| | | |
| | | @Service("orderDetlService") |
| | | public class OrderDetlServiceImpl extends ServiceImpl<OrderDetlMapper, OrderDetl> implements OrderDetlService { |
| | | |
| | | @Autowired |
| | | private OrderDetlService orderDetlService; |
| | | @Override |
| | | public List<OrderDetl> selectByOrderId(Long orderId) { |
| | | return this.selectList(new EntityWrapper<OrderDetl>().eq("order_id", orderId)); |
| | |
| | | public List<OrderDetl> selectByOrderNo(String orderNo) { |
| | | return this.baseMapper.selectByOrderNo(orderNo); |
| | | } |
| | | @Override |
| | | public boolean morpt(String orderNo,String orderNo1){ |
| | | List<OrderDetl> list1 = orderDetlService.selectList(new EntityWrapper<OrderDetl>().eq("order_no",orderNo1)); |
| | | try{ |
| | | for (OrderDetl item : list1) { |
| | | Double anfme = item.getAnfme(); |
| | | Double qty = item.getQty(); |
| | | String matnr = item.getMatnr(); |
| | | if(anfme.equals(qty)){ |
| | | OrderDetl orderDetl = orderDetlService.selectOne( |
| | | new EntityWrapper<OrderDetl>().eq("matnr", matnr).eq("order_no", orderNo) |
| | | ); |
| | | this.baseMapper.morpt(orderNo,matnr); |
| | | } |
| | | } |
| | | } catch (Exception e) { |
| | | e.printStackTrace(); |
| | | throw new CoolException("汇报单转换失败:" + e.getMessage()); |
| | | } |
| | | return true; |
| | | } |
| | | } |
| | |
| | | private OpenService openService; |
| | | |
| | | |
| | | public ReturnT<String> start(BasAgvMast basAgvMast) { |
| | | public ReturnT<String> start(BasAgvMast basAgvMast) { |
| | | try { |
| | | Date now = new Date(); |
| | | switch (basAgvMast.getIoType()){ |
| | |
| | | basAgvLocDetlService.delete(new EntityWrapper<BasAgvLocDetl>().eq("loc_no", basAgvMast.getSourceLocNo())); |
| | | basAgvWrkDetlService.delete(new EntityWrapper<BasAgvWrkDetl>().eq("wrk_no", basAgvMast.getTaskNo())); |
| | | basAgvMast.setStatus(3); |
| | | basAgvMastService.updateById(basAgvMast); |
| | | openService.agvBindAndBin(String.valueOf(basAgvMast.getTaskNo())); |
| | | if(basAgvMastService.updateById(basAgvMast)){ |
| | | openService.agvBindAndBin(String.valueOf(basAgvMast.getTaskNo())); |
| | | } |
| | | break; |
| | | case 1: |
| | | LocMast sourceLoc1 = locMastService.selectById(basAgvMast.getSourceLocNo()); |
| | | LocMast locMast1 = locMastService.selectById(basAgvMast.getLocNo()); |
| | | List<BasAgvLocDetl> locDetls1 = basAgvLocDetlService.selectList(new EntityWrapper<BasAgvLocDetl>().eq("loc_no", basAgvMast.getLocNo())); |
| | | if (!locDetls1.isEmpty()) { |
| | | basAgvLocDetlService.delete(new EntityWrapper<BasAgvLocDetl>().eq("loc_no", basAgvMast.getLocNo())); |
| | | } |
| | | // 修改目标库位状态 ==> .locSts |
| | | locMast1.setLocSts("F"); |
| | | locMast1.setBarcode(sourceLoc1.getBarcode()); |
| | |
| | | } |
| | | } |
| | | |
| | | basAgvLocDetlService.delete(new EntityWrapper<BasAgvLocDetl>().eq("loc_no", basAgvMast.getSourceLocNo())); |
| | | basAgvWrkDetlService.delete(new EntityWrapper<BasAgvWrkDetl>().eq("wrk_no", basAgvMast.getTaskNo())); |
| | | // basAgvLocDetlService.delete(new EntityWrapper<BasAgvLocDetl>().eq("loc_no", basAgvMast.getLocNo())); |
| | | basAgvMast.setStatus(4); |
| | |
| | | } |
| | | } |
| | | |
| | | // basAgvLocDetlService.delete(new EntityWrapper<BasAgvLocDetl>().eq("loc_no", basAgvMast.getLocNo())); |
| | | basAgvLocDetlService.delete(new EntityWrapper<BasAgvLocDetl>().eq("loc_no", basAgvMast.getSourceLocNo())); |
| | | basAgvWrkDetlService.delete(new EntityWrapper<BasAgvWrkDetl>().eq("wrk_no", basAgvMast.getTaskNo())); |
| | | basAgvMast.setStatus(3); |
| | | if(basAgvMast.getFloorNo() == 2 || basAgvMast.getFloorNo() == 3){ |
| | |
| | | private boolean InboundOrderSwitch; |
| | | // 每15分钟同步一次物料档案,防止档案位同步单据先获取 |
| | | @Scheduled(cron = "0 */15 * * * ?") |
| | | // @Scheduled(cron = "0/5 * * * * ?") |
| | | void syncMaterialData() { |
| | | if (!InboundOrderSwitch) { |
| | | return; |
| | |
| | | }else if( order.getDocType() == 21){ //导入订单出库(领料) |
| | | order.setSettle(8L); |
| | | orderService.updateById(order); |
| | | }else if(order.getPayType() == 1 || order.getSalesman() != null){ |
| | | }else if((order.getPayType() != null && order.getPayType() == 1) && order.getSalesman() != null){ |
| | | Order order1 = orderService.selectByNo(order.getSalesman()); |
| | | if(orderDetlPakinService.morpt(order.getSalesman(),order.getOrderNo())){ |
| | | order.setSettle(11L); //yu/cheng/dan/deng/dai/chu/ku/dan |
| | |
| | | String matnr = jsonObjectNew.get("number").toString(); |
| | | String name = jsonObjectNew.get("name").toString(); |
| | | String createTime = jsonObjectNew.get("createtime").toString(); |
| | | String memo = jsonObjectNew.get("eap7_textfield1").toString(); |
| | | Double height = getDecimalFieldAsDouble(jsonObjectNew, "eap7_decimalfield9"); |
| | | Double width = getDecimalFieldAsDouble(jsonObjectNew, "eap7_decimalfield8"); |
| | | Double length = getDecimalFieldAsDouble(jsonObjectNew, "eap7_decimalfield7"); |
| | |
| | | if (mat.getUpdateTime().compareTo(modifyTime) != 0) { |
| | | // 更新字段 |
| | | if (!mat.getMaktx().equals(name)) mat.setMaktx(name); |
| | | if (!mat.getMemo().equals(memo)) mat.setMemo(memo); |
| | | if (mat.getWeight().compareTo(grossweight) != 0) mat.setWeight(grossweight); |
| | | if (mat.getUnits().compareTo(netweight) != 0) mat.setUnits(netweight); |
| | | if (mat.getSafeQty().compareTo(unit) != 0) mat.setSafeQty(unit); |
| | |
| | | for (int k = 0; k < billEntryArray.size(); k++) { |
| | | JSONObject entry = billEntryArray.getJSONObject(k); |
| | | String matnr = entry.getString("material_number"); //物料编码,内部SKU |
| | | Double qty = entry.getDouble("qty"); |
| | | Double anfme = entry.getDouble("eap7_decimalfield");//箱数 |
| | | Double totalNumItems = entry.getDouble("eap7_decimalfield1");//总件数 |
| | | Double totalVolume = entry.getDouble("eap7_decimalfield2");//总体积 |
| | |
| | | Long seq = entry.getLong("seq"); //分录行号 |
| | | // String suppCode = entry.getString("supplier_number"); |
| | | String suppCode = null; |
| | | if (anfme == null || anfme == 0) { |
| | | if (qty == null || qty == 0) { |
| | | callApiLogSaveOrder(order, kingDeeUtilType, |
| | | "单据数量异常:" + matnr, false); |
| | | continue; |
| | |
| | | "档案箱数量异常:" + matnr, false); |
| | | continue; |
| | | } |
| | | Double erpAnfme = anfme*mat.getSafeQty(); |
| | | Double anfmeBox = qty/mat.getSafeQty(); |
| | | // ========= 明细去重 ========= |
| | | List<OrderDetl> orderDetls = |
| | | orderDetlService.selectByOrderId(order.getId()); |
| | |
| | | orderDetl.sync(mat); |
| | | orderDetl.setThreeCode(detlId); |
| | | orderDetl.setLineNumber(seq); |
| | | orderDetl.setAnfme(anfme); |
| | | orderDetl.setErpAnfme(erpAnfme); |
| | | orderDetl.setAnfme(anfmeBox != anfme?anfme : anfmeBox); |
| | | orderDetl.setErpAnfme(qty); |
| | | orderDetl.setOrderId(order.getId()); |
| | | orderDetl.setOrderNo(order.getOrderNo()); |
| | | orderDetl.setSupp(supp); |
| | |
| | | String detlId = entry.getString("id"); //明细id |
| | | Long seq = entry.getLong("seq"); //分录行号 |
| | | String manubill = entry.getString("manufacturenun"); |
| | | String manubillid = entry.getString("orderid_id"); |
| | | String manubillid = entry.getString("orderfid_id"); |
| | | String manuentryid = null; |
| | | String manuentry = null; |
| | | if(kingDeeUtilType.formId.equals("PRD_MORPT")){ |
| | |
| | | orderDetl.setSupp(supp); |
| | | orderDetl.setSuppCode(suppCode); |
| | | orderDetl.setSku(matnr); |
| | | orderDetl.setStandby1(s1); |
| | | orderDetl.setStandby2(s2); |
| | | orderDetl.setStandby3(s3); |
| | | orderDetl.setStandby1(s1 != null? s1:"1"); |
| | | orderDetl.setStandby2(s2 != null? s2:"1"); |
| | | orderDetl.setStandby3(s3 != null? s3:"1"); |
| | | orderDetl.setBoxType1(owner); |
| | | orderDetl.setBoxType2(ownerUuid); |
| | | orderDetl.setBoxType3(pOrderNo); |
| | |
| | | String matnr = jsonObjectNew.get("number").toString(); |
| | | String name = jsonObjectNew.get("name").toString(); |
| | | String createTime = jsonObjectNew.get("createtime").toString(); |
| | | String memo = jsonObjectNew.get("eap7_textfield1").toString(); |
| | | Double height = getDecimalFieldAsDouble(jsonObjectNew, "eap7_decimalfield9"); |
| | | Double width = getDecimalFieldAsDouble(jsonObjectNew, "eap7_decimalfield8"); |
| | | Double length = getDecimalFieldAsDouble(jsonObjectNew, "eap7_decimalfield7"); |
| | |
| | | mat.setManLength(length1); |
| | | mat.setHeight(height1); |
| | | mat.setWidth(width1); |
| | | mat.setMemo(memo); |
| | | mat.setCreateTime(sdf1.parse(createTime)); |
| | | mat.setUpdateTime(modifyTime); |
| | | mat.setStatus(1); |
| | |
| | | if (mat.getUpdateTime().compareTo(modifyTime) != 0) { |
| | | // 更新字段 |
| | | if (!mat.getMaktx().equals(name)) mat.setMaktx(name); |
| | | if (!mat.getMemo().equals(memo)) mat.setMemo(memo); |
| | | if (mat.getWeight().compareTo(grossweight) != 0) mat.setWeight(grossweight); |
| | | if (mat.getUnits().compareTo(netweight) != 0) mat.setUnits(netweight); |
| | | if (mat.getSafeQty().compareTo(unit) != 0) mat.setSafeQty(unit); |
| | |
| | | } |
| | | } |
| | | } |
| | | if(order.getDocType() == 16L){ |
| | | if((order.getDocType() == 16L || order.getDocType() == 24L || order.getDocType() == 3) && order.getCstmrName().equals("和得科技")){ |
| | | order.setDocType(23L); |
| | | order.setSettle(4L);//转为出库单据上报 |
| | | }else{ |
| | | if(order.getDocType() == 23L || order.getDocType() == 24L){ |
| | | if(order.getDocType() == 23L){ |
| | | Order order1 = orderService.selectOne(new EntityWrapper<Order>().eq("salesman",order.getOrderNo())); |
| | | orderService.updateOrderStatus4(order1.getOrderNo()); |
| | | } |
| | |
| | | JSONObject billentryLk = new JSONObject() |
| | | .fluentPut("id", 0L) |
| | | .fluentPut("seq", orderDetl.getLineNumber()) |
| | | .fluentPut("billentry_lk_stableid", 1014628189722381313L) |
| | | .fluentPut("billentry_lk_stableid", 1828884569948973056L) |
| | | .fluentPut("billentry_lk_sbillid", Long.parseLong(order.getItemName())) // 主单ID |
| | | .fluentPut("billentry_lk_sid", Long.parseLong(orderDetl.getThreeCode())); // 明细ID |
| | | // .fluentPut("billentry_lk_baseqty_old", orderDetl.getErpAnfme()) // ERP数量 |
| | |
| | | .fluentPut("owner_number", "BU-00001") |
| | | .fluentPut("manuentry", orderDetl.getSpecs()) |
| | | .fluentPut("manubill", orderDetl.getColor()) |
| | | .fluentPut("manubillid", orderDetl.getModel()) |
| | | .fluentPut("manubillid", Long.parseLong(orderDetl.getModel())) |
| | | .fluentPut("manuentryid", orderDetl.getBrand()) |
| | | .fluentPut("producttype", "C") |
| | | .fluentPut("eap7_textfield", orderDetl.getBoxType3()) |
| | |
| | | .fluentPut("outkeeper_number", "BU-00001") |
| | | .fluentPut("shipper_number", "BU-00001") |
| | | .fluentPut("entrysettleorg_number", "BU-00001") |
| | | .fluentPut("material_number", orderDetl.getMatnr()) |
| | | .fluentPut("material_masterid_number", orderDetl.getMatnr()) |
| | | |
| | | .fluentPut("billentry_lk", billentryLkArray2); |
| | | |
| | |
| | | .fluentPut("data", new JSONArray(Arrays.asList( |
| | | new JSONObject() |
| | | .fluentPut("billno", UUID.randomUUID().toString().replace("-", "").substring(0, 16)) |
| | | .fluentPut("billstatus", "C") |
| | | .fluentPut("billstatus", "A") |
| | | .fluentPut("id", 0L) |
| | | .fluentPut("biztime", sdf1.format(now2)) |
| | | .fluentPut("org_number", "BU-00001") |
| | |
| | | .fluentPut("invscheme_number", "601") |
| | | .fluentPut("purorg_number", "BU-00001") |
| | | .fluentPut("productionorg_number", "BU-00001") |
| | | .fluentPut("supplier_number", "272") |
| | | |
| | | .fluentPut("billentry", billentryArray2) // 将 billentry 数组添加到请求参数 |
| | | ))); |
| | | case "STK_imSaloutbill": |
| | |
| | | and matnr = #{matnr} |
| | | <include refid="batchSeq"></include> |
| | | </select> |
| | | <update id="updateLocNo"> |
| | | update asr_bas_agv_loc_detl |
| | | set loc_no = #{newLocNo}, modi_time=getDate() |
| | | where loc_no = #{oldLocNo} |
| | | </update> |
| | | </mapper> |
| | |
| | | <result column="box_type2" property="boxType2" /> |
| | | <result column="box_type3" property="boxType3" /> |
| | | </resultMap> |
| | | |
| | | <sql id="batchSeq123"> |
| | | <choose> |
| | | <when test="boxType3 != null and boxType3 != ''"> |
| | | and a.box_type3 = #{boxType3} |
| | | </when> |
| | | <otherwise> |
| | | and (a.box_type3 IS NULL OR a.box_type3 = '') |
| | | </otherwise> |
| | | </choose> |
| | | </sql> |
| | | <sql id="batchSeq"> |
| | | <choose> |
| | | <when test="batch != null and batch != ''"> |
| | |
| | | and (a.brand IS NULL OR a.brand = '') |
| | | </otherwise> |
| | | </choose> |
| | | <choose> |
| | | <when test="standby1 != null and standby1 != ''"> |
| | | and a.standby1 = #{standby1} |
| | | </when> |
| | | <otherwise> |
| | | and (a.standby1 IS NULL OR a.standby1 = '') |
| | | </otherwise> |
| | | </choose> |
| | | <choose> |
| | | <when test="standby2 != null and standby2 != ''"> |
| | | and a.standby2 = #{standby2} |
| | | </when> |
| | | <otherwise> |
| | | and (a.standby2 IS NULL OR a.standby2 = '') |
| | | </otherwise> |
| | | </choose> |
| | | <choose> |
| | | <when test="standby3 != null and standby3 != ''"> |
| | | and a.standby3 = #{standby3} |
| | | </when> |
| | | <otherwise> |
| | | and (a.standby3 IS NULL OR a.standby3 = '') |
| | | </otherwise> |
| | | </choose> |
| | | <choose> |
| | | <when test="boxType1 != null and boxType1 != ''"> |
| | | and a.box_type1 = #{boxType1} |
| | | </when> |
| | | <otherwise> |
| | | and (a.box_type1 IS NULL OR a.box_type1 = '') |
| | | </otherwise> |
| | | </choose> |
| | | <choose> |
| | | <when test="boxType2 != null and boxType2 != ''"> |
| | | and a.box_type2 = #{boxType2} |
| | | </when> |
| | | <otherwise> |
| | | and (a.box_type2 IS NULL OR a.box_type2 = '') |
| | | </otherwise> |
| | | </choose> |
| | | <choose> |
| | | <when test="boxType3 != null and boxType3 != ''"> |
| | | and a.box_type3 = #{boxType3} |
| | | </when> |
| | | <otherwise> |
| | | and (a.box_type3 IS NULL OR a.box_type3 = '') |
| | | </otherwise> |
| | | </choose> |
| | | </sql> |
| | | <sql id="batchSeq7"> |
| | | <choose> |
| | | <when test="standby1 != null and standby1 != ''"> |
| | | and a.standby1 = #{standby1} |
| | |
| | | desc |
| | | </select> |
| | | |
| | | <select id="queryStockAll7" resultMap="BaseResultMap"> |
| | | select a.* |
| | | 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 a.matnr = #{matnr} |
| | | <if test="orderNo != null and orderNo != ''"> |
| | | and a.order_no = #{orderNo} |
| | | </if> |
| | | |
| | | <include refid="batchSeq7"></include> |
| | | |
| | | |
| | | <if test="locNos != null and locNos.size > 0"> |
| | | and b.loc_no not in |
| | | <foreach item="item" collection="locNos" index="index" separator="," open="(" close=")"> |
| | | #{item} |
| | | </foreach> |
| | | </if> |
| | | |
| | | order by |
| | | DATEPART(yyyy,a.modi_time),DATEPART(mm,a.modi_time),DATEPART(dd,a.modi_time), a.anfme |
| | | desc, |
| | | NEWID(), |
| | | case |
| | | when (left(a.loc_no, 2) = '01') then 0 |
| | | when (left(a.loc_no, 2) = '02') then 1 |
| | | when (left(a.loc_no, 2) = '03') then 1 |
| | | when (left(a.loc_no, 2) = '04') then 0 |
| | | when (left(a.loc_no, 2) = '05') then 0 |
| | | when (left(a.loc_no, 2) = '06') then 1 |
| | | when (left(a.loc_no, 2) = '07') then 1 |
| | | when (left(a.loc_no, 2) = '08') then 0 |
| | | when (left(a.loc_no, 2) = '09') then 0 |
| | | when (left(a.loc_no, 2) = '10') then 1 |
| | | when (left(a.loc_no, 2) = '11') then 1 |
| | | when (left(a.loc_no, 2) = '12') then 0 |
| | | when (left(a.loc_no, 2) = '13') then 0 |
| | | when (left(a.loc_no, 2) = '14') then 1 |
| | | when (left(a.loc_no, 2) = '15') then 1 |
| | | when (left(a.loc_no, 2) = '16') then 0 |
| | | when (left(a.loc_no, 2) = '17') then 0 |
| | | when (left(a.loc_no, 2) = '18') then 1 |
| | | when (left(a.loc_no, 2) = '19') then 1 |
| | | when (left(a.loc_no, 2) = '20') then 0 |
| | | when (left(a.loc_no, 2) = '21') then 0 |
| | | when (left(a.loc_no, 2) = '22') then 1 |
| | | when (left(a.loc_no, 2) = '23') then 1 |
| | | when (left(a.loc_no, 2) = '24') then 0 |
| | | when (left(a.loc_no, 2) = '25') then 0 |
| | | when (left(a.loc_no, 2) = '26') then 1 |
| | | when (left(a.loc_no, 2) = '27') then 1 |
| | | when (left(a.loc_no, 2) = '28') then 0 |
| | | when (left(a.loc_no, 2) = '29') then 0 |
| | | when (left(a.loc_no, 2) = '30') then 1 |
| | | when (left(a.loc_no, 2) = '31') then 1 |
| | | when (left(a.loc_no, 2) = '32') then 0 |
| | | when (left(a.loc_no, 2) = '33') then 0 |
| | | when (left(a.loc_no, 2) = '34') then 1 |
| | | when (left(a.loc_no, 2) = '35') then 1 |
| | | when (left(a.loc_no, 2) = '36') then 0 |
| | | when (left(a.loc_no, 2) = '37') then 0 |
| | | when (left(a.loc_no, 2) = '38') then 1 |
| | | when (left(a.loc_no, 2) = '39') then 1 |
| | | when (left(a.loc_no, 2) = '40') then 0 |
| | | when (left(a.loc_no, 2) = '41') then 0 |
| | | when (left(a.loc_no, 2) = '42') then 1 |
| | | when (left(a.loc_no, 2) = '43') then 1 |
| | | when (left(a.loc_no, 2) = '44') then 0 |
| | | when (left(a.loc_no, 2) = '45') then 0 |
| | | when (left(a.loc_no, 2) = '46') then 1 |
| | | when (left(a.loc_no, 2) = '47') then 1 |
| | | when (left(a.loc_no, 2) = '48') then 0 |
| | | else 0 |
| | | end |
| | | desc |
| | | </select> |
| | | |
| | | <select id="queryStockAll123" resultMap="BaseResultMap"> |
| | | select a.* |
| | | 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 a.matnr = #{matnr} |
| | | <if test="orderNo != null and orderNo != ''"> |
| | | and a.order_no = #{orderNo} |
| | | </if> |
| | | |
| | | <include refid="batchSeq123"></include> |
| | | |
| | | |
| | | <if test="locNos != null and locNos.size > 0"> |
| | | and b.loc_no not in |
| | | <foreach item="item" collection="locNos" index="index" separator="," open="(" close=")"> |
| | | #{item} |
| | | </foreach> |
| | | </if> |
| | | |
| | | order by |
| | | DATEPART(yyyy,a.modi_time),DATEPART(mm,a.modi_time),DATEPART(dd,a.modi_time), a.anfme |
| | | desc, |
| | | NEWID(), |
| | | case |
| | | when (left(a.loc_no, 2) = '01') then 0 |
| | | when (left(a.loc_no, 2) = '02') then 1 |
| | | when (left(a.loc_no, 2) = '03') then 1 |
| | | when (left(a.loc_no, 2) = '04') then 0 |
| | | when (left(a.loc_no, 2) = '05') then 0 |
| | | when (left(a.loc_no, 2) = '06') then 1 |
| | | when (left(a.loc_no, 2) = '07') then 1 |
| | | when (left(a.loc_no, 2) = '08') then 0 |
| | | when (left(a.loc_no, 2) = '09') then 0 |
| | | when (left(a.loc_no, 2) = '10') then 1 |
| | | when (left(a.loc_no, 2) = '11') then 1 |
| | | when (left(a.loc_no, 2) = '12') then 0 |
| | | when (left(a.loc_no, 2) = '13') then 0 |
| | | when (left(a.loc_no, 2) = '14') then 1 |
| | | when (left(a.loc_no, 2) = '15') then 1 |
| | | when (left(a.loc_no, 2) = '16') then 0 |
| | | when (left(a.loc_no, 2) = '17') then 0 |
| | | when (left(a.loc_no, 2) = '18') then 1 |
| | | when (left(a.loc_no, 2) = '19') then 1 |
| | | when (left(a.loc_no, 2) = '20') then 0 |
| | | when (left(a.loc_no, 2) = '21') then 0 |
| | | when (left(a.loc_no, 2) = '22') then 1 |
| | | when (left(a.loc_no, 2) = '23') then 1 |
| | | when (left(a.loc_no, 2) = '24') then 0 |
| | | when (left(a.loc_no, 2) = '25') then 0 |
| | | when (left(a.loc_no, 2) = '26') then 1 |
| | | when (left(a.loc_no, 2) = '27') then 1 |
| | | when (left(a.loc_no, 2) = '28') then 0 |
| | | when (left(a.loc_no, 2) = '29') then 0 |
| | | when (left(a.loc_no, 2) = '30') then 1 |
| | | when (left(a.loc_no, 2) = '31') then 1 |
| | | when (left(a.loc_no, 2) = '32') then 0 |
| | | when (left(a.loc_no, 2) = '33') then 0 |
| | | when (left(a.loc_no, 2) = '34') then 1 |
| | | when (left(a.loc_no, 2) = '35') then 1 |
| | | when (left(a.loc_no, 2) = '36') then 0 |
| | | when (left(a.loc_no, 2) = '37') then 0 |
| | | when (left(a.loc_no, 2) = '38') then 1 |
| | | when (left(a.loc_no, 2) = '39') then 1 |
| | | when (left(a.loc_no, 2) = '40') then 0 |
| | | when (left(a.loc_no, 2) = '41') then 0 |
| | | when (left(a.loc_no, 2) = '42') then 1 |
| | | when (left(a.loc_no, 2) = '43') then 1 |
| | | when (left(a.loc_no, 2) = '44') then 0 |
| | | when (left(a.loc_no, 2) = '45') then 0 |
| | | when (left(a.loc_no, 2) = '46') then 1 |
| | | when (left(a.loc_no, 2) = '47') then 1 |
| | | when (left(a.loc_no, 2) = '48') then 0 |
| | | else 0 |
| | | end |
| | | desc |
| | | </select> |
| | | |
| | | <select id="queryStockAnfme" resultType="java.lang.Double"> |
| | | select sum(anfme) as count from man_loc_detl |
| | | where 1=1 |
| | |
| | | from man_order_detl |
| | | where order_no = #{orderNo} |
| | | </select> |
| | | <update id="morpt" parameterType="String"> |
| | | UPDATE man_order_detl |
| | | SET qty = anfme, work_qty = anfme |
| | | WHERE order_no = #{orderNo} and matnr = #{matnr} |
| | | </update> |
| | | |
| | | </mapper> |
| | |
| | | |
| | | var detlCols = [ |
| | | {field: 'matnr', align: 'center',title: '商品编号', sort:true} |
| | | ,{field: 'maktx', align: 'center',title: '商品名称', sort:true} |
| | | ,{field: 'maktx', align: 'center',title: '商品名称', sort:true,hide:true} |
| | | ,{field: 'orderNo', align: 'center',title: '单据编号', hide: false} |
| | | // ,{field: 'batch', align: 'center',title: '货品特征', sort:true,hide:true} |
| | | ,{field: 'anfme', align: 'center',title: '数量', hide: false} |
| | |
| | | arrRemove(detlCols, "field", "anfme") |
| | | arrRemove(detlCols, "field", "zpallet") |
| | | arrRemove(detlCols, "field", "orderNo") |
| | | arrRemove(detlCols, "field", "memo") |
| | | // arrRemove(detlCols, "field", "memo") |
| | | cols.push.apply(cols, detlCols); |
| | | // cols.push({field: 'anfme', align: 'center',title: '数量', style: 'font-weight: bold'} |
| | | // ) |
| | |
| | | success: function (res) { |
| | | layer.closeAll(); |
| | | if (res.code === 200 && res.data && res.data.length > 0) { |
| | | var titles = ['库存数量', '商品编号', '商品名称', '采购单号', '条码UPC', '单箱毛重(kg)', '客户PO']; |
| | | var fieldKeys = ['anfme', 'matnr', 'maktx', 'boxType3', 'standby2', 'units', 'standby1']; |
| | | var titles = ['库存数量', '商品编号', '备注', '采购单号', '条码UPC', '单箱毛重(kg)', '客户PO']; |
| | | var fieldKeys = ['anfme', 'matnr', 'memo', 'boxType3', 'standby2', 'units', 'standby1']; |
| | | |
| | | var exportData = res.data.map(function(item) { |
| | | return [ |
| | | item.anfme || '', |
| | | item.matnr || '', |
| | | item.maktx || '', // 如果 maktx 为空可默认 |
| | | item.memo || '', // 如果 maktx 为空可默认 |
| | | item.boxType3 || '', |
| | | item.standby2 || '', |
| | | item.units || '', |
| | |
| | | cols: [[ |
| | | {type: 'numbers'}, |
| | | {field: 'orderNo', title: '单据编号', templet: '#orderNoTpl'}, |
| | | {field: 'itemName', align: 'center', title: '客户po', minWidth: 160, width: 160}, |
| | | // {field: 'itemName', align: 'center', title: '客户po', minWidth: 160, width: 160}, |
| | | {field: 'docType$', align: 'center', title: '类型', minWidth: 160, width: 160}, |
| | | {field: 'cstmrName', align: 'center', title: '货主', minWidth: 160, width: 160}, |
| | | {align: 'center', title: '明细', toolbar: '#tbLook', minWidth: 160, width: 160}, |