| | |
| | | @Param("status") int status); |
| | | |
| | | Integer getNumber(@Param("weight")Double weight,@Param("volume")Double volume,@Param("length")Double length,@Param("width")Double width,@Param("height")Double height); |
| | | Integer getStatus(@Param("weight")Double weight,@Param("volume")Double volume,@Param("length")Double length,@Param("width")Double width,@Param("height")Double height); |
| | | |
| | | |
| | | } |
| | |
| | | boolean updateStatus(ArmPrecomputeParam.CombMat combMat); |
| | | |
| | | Integer getNumber(Double weight,Double volume,Double length,Double width,Double height); |
| | | Integer getStatus(Double weight,Double volume,Double length,Double width,Double height); |
| | | } |
| | |
| | | public Integer getNumber(Double weight,Double volume,Double length,Double width,Double height){ |
| | | return this.baseMapper.getNumber(weight,volume,length,width,height); |
| | | } |
| | | |
| | | @Override |
| | | public Integer getStatus(Double weight,Double volume,Double length,Double width,Double height){ |
| | | return this.baseMapper.getStatus(weight,volume,length,width,height); |
| | | } |
| | | } |
| | |
| | | String orderNo = null; |
| | | for (CombParam.CombMat combMat : param.getCombMats()) { |
| | | List<OrderDetlPakin> orderDetlPakins = orderDetlPakinService.selectList(new EntityWrapper<OrderDetlPakin>() |
| | | .eq("matnr", combMat.getMatnr()).eq("boxType3", combMat.getOrderNo()) |
| | | .eq("matnr", combMat.getMatnr()).eq("box_type3", combMat.getOrderNo()) |
| | | .eq("standby1", combMat.getStandby1()).eq("standby2", combMat.getStandby2()) |
| | | .eq("standby3", combMat.getStandby3())); |
| | | if (orderDetlPakins.size() > 0) { |
| | |
| | | ArmPrecomputeParam armPrecomputeParam = new ArmPrecomputeParam(basArmRule); |
| | | ReturnT<String> returnT = armRulesHandler.start(armPrecomputeParam); |
| | | if (!returnT.isSuccess()) { |
| | | basArmRule.setStatus(2); |
| | | basArmRulesService.updateById(basArmRule); |
| | | log.error("获取码垛数量失败===>"+JSON.toJSON(basArmRule)); |
| | | } |
| | | } else { |
| | |
| | | |
| | | import com.alibaba.fastjson.JSON; |
| | | import com.baomidou.mybatisplus.mapper.EntityWrapper; |
| | | import com.core.common.Cools; |
| | | import com.zy.asrs.entity.*; |
| | | import com.zy.asrs.entity.param.OrderToLine; |
| | | import com.zy.asrs.service.*; |
| | |
| | | basArmRulesService.insert(basArmRules); |
| | | return; |
| | | } else if (number == 0){ |
| | | Integer status = basArmRulesService.getStatus(orderDetl.getWeight(),orderDetl.getVolume(),orderDetl.getManLength(),orderDetl.getWidth(),orderDetl.getHeight()); |
| | | if (!Cools.isEmpty(status) && status == 2){ |
| | | continue; |
| | | } else { |
| | | return; |
| | | } |
| | | } |
| | | String name = ToSortLineUtils.MergerParameter(orderDetl.getMatnr(),orderDetl.getStandby3(),orderDetl.getStandby1(),orderDetl.getStandby2()); |
| | | int maxCapacity = number; |
| | | int stock = orderDetl.getAnfme().intValue(); |
| | |
| | | jsonObject.put("end_modifytime", sdf1.format(now));//更新截止 |
| | | jsonObject.put("start_approvedate", "2025-01-01");//审核起始 |
| | | jsonObject.put("end_approvedate", sdf2.format(now));//审核截止 |
| | | jsonObject.put("status", Arrays.asList("B", "C"));//数据状态 [A:暂存, B:已提交, C:已审核] |
| | | jsonObject.put("status", Arrays.asList("C"));//数据状态 [A:暂存, B:已提交, C:已审核] |
| | | path = matAddress; |
| | | break; |
| | | case "BD_RRGANIZATION": //供应商同步 |
| | |
| | | // jsonObject.put("start_biztime", latestUpdateTime);//业务起始日期 |
| | | jsonObject.put("start_biztime", "2025-01-01 00:00:00");//业务起始日期 |
| | | jsonObject.put("end_biztime", sdf1.format(now));//业务结束日期 |
| | | jsonObject.put("billno", Arrays.asList("CGSL-251125-000003")); |
| | | jsonObject.put("billstatus", Arrays.asList("A","B","C"));//数据状态 [A:暂存, B:已提交, C:已审核] |
| | | jsonObject.put("start_auditdate", null);//id |
| | | jsonObject.put("end_auditdate", null); |
| | | jsonObject.put("billno", null); |
| | | jsonObject.put("billstatus", Arrays.asList("C"));//数据状态 [A:暂存, B:已提交, C:已审核] |
| | | jsonObject.put("start_auditdate", "2025-11-25 00:00:00"); |
| | | jsonObject.put("end_auditdate", sdf1.format(now)); |
| | | jsonObject.put("org_number", null); |
| | | jsonObject.put("supplier_number", null); |
| | | path = imPurreceiveBillAddress; |
| | |
| | | // ---- 排序逻辑 ---- |
| | | List<Double> dims = Arrays.asList(height, width, length); |
| | | dims.sort(Double::compareTo); // 升序排列:最小、中间、最大 |
| | | Double min = dims.get(0); |
| | | Double mid = dims.get(1); |
| | | Double max = dims.get(2); |
| | | Double min = dims.get(0)*10; |
| | | Double mid = dims.get(1)*10; |
| | | Double max = dims.get(2)*10; |
| | | // 生成商品档案 |
| | | Mat mat = matService.selectByMatnr(matnr); |
| | | if (mat == null) { |
| | |
| | | if (ownerUuid != null) { |
| | | locOwner = locOwnerService.selectByUuid(ownerUuid); |
| | | if (locOwner == null) { |
| | | callApiLogSaveOrder(order,kingDeeUtilType, "货主检索失败,请先添加对应货主编号:"+ownerUuid, false);continue; |
| | | callApiLogSaveOwner(locOwner,kingDeeUtilType, "货主检索失败,请先添加对应货主编号:"+ownerUuid+"名称"+owner, false);continue; |
| | | } |
| | | } else{ |
| | | callApiLogSaveOrder(order,kingDeeUtilType, "货主检索失败,未查询到货主编号!", false);continue; |
| | | callApiLogSaveOwner(locOwner,kingDeeUtilType, "货主检索失败,未查询到货主编号!", false);continue; |
| | | } |
| | | if (Cools.isEmpty(order)) { |
| | | // 单据主档 |
| | |
| | | String memo = entry.getString("eap7_textfield6"); //备注(英文描述) |
| | | String s1 = entry.getString("eap7_textfield7"); //客户PO |
| | | String suppCode = entry.getString("supplier_number"); //供应商 |
| | | if(anfme == 0){ |
| | | callApiLogSaveOrder(order,kingDeeUtilType, "单据数量异常"+matnr, false); |
| | | continue; |
| | | } |
| | | //物料编码 |
| | | Mat mat = matService.selectByMatnr(matnr); |
| | | if (Cools.isEmpty(mat)) { |
| | |
| | | "货主编号:" + locSupp.getOwnerUuid() + "、货主名称:" + locSupp.getOwner(), |
| | | response, bool); |
| | | } |
| | | public void callApiLogSaveOwner(LocOwner locOwner, KingDeeUtilType kingDeeUtilType, String response, Boolean bool) { |
| | | apiLogService.save("获取"+kingDeeUtilType.desc, kingDeeUtilType.formId, "null", URL, |
| | | "货主编号:" + locOwner.getOwnerUuid() + "、货主名称:" + locOwner.getOwner(), |
| | | response, bool); |
| | | } |
| | | |
| | | public void callApiLogSaveOrder(Order order, KingDeeUtilType kingDeeUtilType, String response, Boolean bool) { |
| | | apiLogService.save("获取"+kingDeeUtilType.desc, kingDeeUtilType.formId, "null", URL, |
| | | "单据编号:" + order.getId() + "、状态:" + order.getStatus$(), |
| | | "单据编号:" + order.getOrderNo() + "、状态:" + order.getStatus$(), |
| | | response, bool); |
| | | } |
| | | |
| | |
| | | public enum KingDeeUtilType { |
| | | BD_MATERIAL(0, "物料档案","BD_MATERIAL","","","",1), |
| | | BD_RRGANIZATION(2, "供应商","BD_RRGANIZATION","","","",1), |
| | | // PUR_RECEIVEBIll(3, "收料单","PUR_RECEIVEBIll","","","",1), |
| | | PUR_RECEIVEBIll(3, "收料单","PUR_RECEIVEBIll","","","",1), |
| | | |
| | | // STK_InStock(1, "采购入库单","STK_InStock","FRealQty","","",1), |
| | | // PUR_MRB(2, "采购退料单","PUR_MRB","FRMREALQTY","","",1), |
| | |
| | | #计时器上报开关 |
| | | ErpReportOld: true |
| | | #获取单据开关 |
| | | InboundOrderSwitch: false |
| | | InboundOrderSwitch: true |
| | | #登录接口开关 |
| | | LoginAuthenticationSwitch: false |
| | | LoginAuthenticationSwitch: true |
| | | #上报、审核单据开关 |
| | | ReviewOrderSwitch: false |
| | | # 地址 |
| | |
| | | #登录地址 |
| | | loginaddress: /kapi/oauth2/getToken |
| | | #商品档案地址 |
| | | mataddress: /kapi/v2/basedata/bd_material/batchQuery |
| | | mataddress: /kapi/v2/eap7/basedata/bd_material/batchQuery |
| | | #货主档案地址 |
| | | orgaddress: /kapi/v2/basedata/bd_supplier/query |
| | | #收料单-查询 |
| | |
| | | and material_weight = #{weight} |
| | | </select> |
| | | |
| | | <select id="getStatus" resultType="Integer"> |
| | | select status |
| | | from asr_bas_arm_rules |
| | | where 1=1 |
| | | and material_length = #{length} |
| | | and material_width = #{width} |
| | | and material_height = #{height} |
| | | and material_weight = #{weight} |
| | | </select> |
| | | |
| | | </mapper> |