| | |
| | | continue; |
| | | } |
| | | List<LocDetl> locDetls = null; |
| | | if(orderDetl.getStandby1().equals("123")){ |
| | | locDetls = locDetlService.queryStockAll123(null, exist,orderDetl.getMatnr(), "1"); |
| | | locDetls = locDetlService.queryStockAll123(null, exist,orderDetl.getMatnr(), orderDetl.getBoxType3()); |
| | | |
| | | }else{ |
| | | locDetls = locDetlService.queryStockAll7(null, exist,orderDetl.getMatnr(), orderDetl.getStandby1(),orderDetl.getStandby2(),orderDetl.getStandby3(),orderDetl.getBoxType1(),orderDetl.getBoxType2(),orderDetl.getBoxType3()); |
| | | } |
| | | for (LocDetl locDetl : locDetls) { |
| | | if (issued > 0) { |
| | | LocDto locDto = new LocDto(locDetl.getLocNo(), locDetl.getMatnr(), locDetl.getMaktx(), locDetl.getBatch(), orderDetl.getOrderNo(), |
| | |
| | | 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()); |
| | |
| | | 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; //明细 |
| | | } |
| | |
| | | @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("standby1")String standby); |
| | | 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); |
| | |
| | | // 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 standby1); |
| | | List<LocDetl> queryStockAll123(String orderNo, Set<String> locNos,String matnr, String boxType3); |
| | | |
| | | Double queryStockAnfme(String matnr, String batch); |
| | | |
| | |
| | | } |
| | | |
| | | @Override |
| | | public List<LocDetl> queryStockAll123(String orderNo, Set<String> locNos,String matnr, String standby1) { |
| | | return this.baseMapper.queryStockAll123(orderNo,locNos, matnr,standby1); |
| | | 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) { |
| | |
| | | @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(); |
| | |
| | | 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); |
| | |
| | | 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()); |
| | | } |
| | |
| | | </resultMap> |
| | | <sql id="batchSeq123"> |
| | | <choose> |
| | | <when test="standby1 != null and standby1 != ''"> |
| | | and d.standby1 = #{standby1} |
| | | <when test="boxType3 != null and boxType3 != ''"> |
| | | and a.box_type3 = #{boxType3} |
| | | </when> |
| | | <otherwise> |
| | | and (d.standby1 IS NULL OR d.standby1 = '') |
| | | and (a.box_type3 IS NULL OR a.box_type3 = '') |
| | | </otherwise> |
| | | </choose> |
| | | </sql> |
| | |
| | | |
| | | 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 || '', |