|  |  |  | 
|---|
|  |  |  | import com.zy.asrs.entity.param.*; | 
|---|
|  |  |  | import com.zy.asrs.entity.result.OpenOrderCompeteResult; | 
|---|
|  |  |  | import com.zy.asrs.entity.result.StockVo; | 
|---|
|  |  |  | import com.zy.asrs.mapper.ReportQueryMapper; | 
|---|
|  |  |  | import com.zy.asrs.mapper.TagMapper; | 
|---|
|  |  |  | import com.zy.asrs.service.*; | 
|---|
|  |  |  | import com.zy.asrs.task.core.ReturnT; | 
|---|
|  |  |  | import com.zy.asrs.task.handler.WorkLogHandler; | 
|---|
|  |  |  | import com.zy.asrs.utils.MatUtils; | 
|---|
|  |  |  | import com.zy.common.model.DetlDto; | 
|---|
|  |  |  | import com.zy.common.utils.ListUtils; | 
|---|
|  |  |  | import com.zy.common.utils.NodeUtils; | 
|---|
|  |  |  | import lombok.extern.slf4j.Slf4j; | 
|---|
|  |  |  | import org.springframework.beans.factory.annotation.Autowired; | 
|---|
|  |  |  | import org.springframework.stereotype.Service; | 
|---|
|  |  |  | import org.springframework.transaction.annotation.Transactional; | 
|---|
|  |  |  | import org.springframework.util.StringUtils; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | import java.util.*; | 
|---|
|  |  |  | import java.util.ArrayList; | 
|---|
|  |  |  | import java.util.Date; | 
|---|
|  |  |  | import java.util.List; | 
|---|
|  |  |  | import java.util.Map; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * Created by vincent on 2022/4/9 | 
|---|
|  |  |  | 
|---|
|  |  |  | private WaitPakinService waitPakinService; | 
|---|
|  |  |  | @Autowired | 
|---|
|  |  |  | private WrkDetlService wrkDetlService; | 
|---|
|  |  |  | @Autowired | 
|---|
|  |  |  | private ReportQueryMapper reportQueryMapper; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Override | 
|---|
|  |  |  | @Transactional | 
|---|
|  |  |  | 
|---|
|  |  |  | for (DetlDto detail : orderDetails) { | 
|---|
|  |  |  | DetlDto dto = new DetlDto(detail.getMatnr(), detail.getBatch(), detail.getAnfme()); | 
|---|
|  |  |  | if (DetlDto.has(list, dto)) { | 
|---|
|  |  |  | DetlDto detlDto = DetlDto.find(list, dto.getMatnr(), dto.getBatch()); | 
|---|
|  |  |  | DetlDto detlDto = DetlDto.find(list, dto.getMatnr(), dto.getBatch(),dto.getCsocode(),dto.getIsoseq(),null); | 
|---|
|  |  |  | assert detlDto != null; | 
|---|
|  |  |  | detlDto.setAnfme(detlDto.getAnfme() + detail.getAnfme()); | 
|---|
|  |  |  | } else { | 
|---|
|  |  |  | 
|---|
|  |  |  | result.setOrderType(order.getDocType$()); | 
|---|
|  |  |  | List<OrderDetl> orderDetls = orderDetlService.selectByOrderId(order.getId()); | 
|---|
|  |  |  | for (OrderDetl orderDetl : orderDetls) { | 
|---|
|  |  |  | result.getOrderDetails().add(new DetlDto(orderDetl.getOrderNo(), orderDetl.getMatnr(), orderDetl.getBatch(), orderDetl.getQty())); | 
|---|
|  |  |  | //result.getOrderDetails().add(new DetlDto(orderDetl.getOrderNo(), orderDetl.getMatnr(), orderDetl.getBatch(), orderDetl.getQty())); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | if (order.getSettle() == 4L) { | 
|---|
|  |  |  | // 修改订单状态 4.完成 ===>> 6.已上报 | 
|---|
|  |  |  | 
|---|
|  |  |  | result.setOrderType(order.getDocType$()); | 
|---|
|  |  |  | List<OrderDetl> orderDetls = orderDetlService.selectByOrderId(order.getId()); | 
|---|
|  |  |  | for (OrderDetl orderDetl : orderDetls) { | 
|---|
|  |  |  | result.getOrderDetails().add(new DetlDto(orderDetl.getOrderNo(), orderDetl.getMatnr(), orderDetl.getBatch(), orderDetl.getQty())); | 
|---|
|  |  |  | //result.getOrderDetails().add(new DetlDto(orderDetl.getOrderNo(), orderDetl.getMatnr(), orderDetl.getBatch(), orderDetl.getQty())); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | // 修改订单状态 4.完成 ===>> 6.已上报 | 
|---|
|  |  |  | if (!orderService.updateSettle(order.getId(), 6L, null)) { | 
|---|
|  |  |  | 
|---|
|  |  |  | for (DetlDto detail : orderDetails) { | 
|---|
|  |  |  | DetlDto dto = new DetlDto(detail.getMatnr(), detail.getBatch(), detail.getAnfme()); | 
|---|
|  |  |  | if (DetlDto.has(list, dto)) { | 
|---|
|  |  |  | DetlDto detlDto = DetlDto.find(list, dto.getMatnr(), dto.getBatch()); | 
|---|
|  |  |  | DetlDto detlDto = DetlDto.find(list, dto.getMatnr(), dto.getBatch(),dto.getCsocode(),dto.getIsoseq(),null); | 
|---|
|  |  |  | assert detlDto != null; | 
|---|
|  |  |  | detlDto.setAnfme(detlDto.getAnfme() + detail.getAnfme()); | 
|---|
|  |  |  | } else { | 
|---|
|  |  |  | 
|---|
|  |  |  | result.setOrderType(order.getDocType$()); | 
|---|
|  |  |  | List<OrderDetl> orderDetls = orderDetlService.selectByOrderId(order.getId()); | 
|---|
|  |  |  | for (OrderDetl orderDetl : orderDetls) { | 
|---|
|  |  |  | result.getOrderDetails().add(new DetlDto(orderDetl.getOrderNo(), orderDetl.getMatnr(), orderDetl.getBatch(), orderDetl.getQty())); | 
|---|
|  |  |  | //result.getOrderDetails().add(new DetlDto(orderDetl.getOrderNo(), orderDetl.getMatnr(), orderDetl.getBatch(), orderDetl.getQty())); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | if (order.getSettle() == 4L) { | 
|---|
|  |  |  | // 修改订单状态 4.完成 ===>> 6.已上报 | 
|---|
|  |  |  | 
|---|
|  |  |  | result.setOrderType(order.getDocType$()); | 
|---|
|  |  |  | List<OrderDetl> orderDetls = orderDetlService.selectByOrderId(order.getId()); | 
|---|
|  |  |  | for (OrderDetl orderDetl : orderDetls) { | 
|---|
|  |  |  | result.getOrderDetails().add(new DetlDto(orderDetl.getOrderNo(), orderDetl.getMatnr(), orderDetl.getBatch(), orderDetl.getQty())); | 
|---|
|  |  |  | //result.getOrderDetails().add(new DetlDto(orderDetl.getOrderNo(), orderDetl.getMatnr(), orderDetl.getBatch(), orderDetl.getQty())); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | // 修改订单状态 4.完成 ===>> 6.已上报 | 
|---|
|  |  |  | if (!orderService.updateSettle(order.getId(), 6L, null)) { | 
|---|
|  |  |  | 
|---|
|  |  |  | List<DetlDto> detlDtos = new ArrayList<>(); | 
|---|
|  |  |  | param.getCombMats().forEach(elem -> { | 
|---|
|  |  |  | DetlDto detlDto = new DetlDto(elem.getMatnr(), elem.getBatch(), elem.getAnfme()); | 
|---|
|  |  |  | detlDto.setContainerCode(elem.getContainerCode()); | 
|---|
|  |  |  | if (DetlDto.has(detlDtos, detlDto)) { | 
|---|
|  |  |  | DetlDto one = DetlDto.find(detlDtos, detlDto.getMatnr(), detlDto.getBatch()); | 
|---|
|  |  |  | DetlDto one = DetlDto.find(detlDtos, detlDto.getMatnr(), detlDto.getBatch(),detlDto.getCsocode(),detlDto.getIsoseq(),detlDto.getContainerCode()); | 
|---|
|  |  |  | assert one != null; | 
|---|
|  |  |  | one.setAnfme(one.getAnfme() + detlDto.getAnfme()); | 
|---|
|  |  |  | } else { | 
|---|
|  |  |  | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 入库记录获取 | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | @Override | 
|---|
|  |  |  | @Transactional | 
|---|
|  |  |  | public List<ViewWorkInBean> inlogERP() { | 
|---|
|  |  |  | List<ViewWorkInBean> viewWorkInERP = reportQueryMapper.getViewWorkInERP(); | 
|---|
|  |  |  | ArrayList<ViewWorkInBean> viewWorkInBeans = new ArrayList<>(); | 
|---|
|  |  |  | for (ViewWorkInBean viewWorkInBean:viewWorkInERP){ | 
|---|
|  |  |  | viewWorkInBean.sype(); | 
|---|
|  |  |  | viewWorkInBeans.add(viewWorkInBean); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | return viewWorkInBeans; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 出库记录获取 | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | @Override | 
|---|
|  |  |  | @Transactional | 
|---|
|  |  |  | public List<ViewWorkInBean> outlogERP() { | 
|---|
|  |  |  | List<ViewWorkInBean> viewWorkInERP = reportQueryMapper.getViewWorkOutERP(); | 
|---|
|  |  |  | ArrayList<ViewWorkInBean> viewWorkInBeans = new ArrayList<>(); | 
|---|
|  |  |  | for (ViewWorkInBean viewWorkInBean:viewWorkInERP){ | 
|---|
|  |  |  | viewWorkInBean.sype(); | 
|---|
|  |  |  | viewWorkInBeans.add(viewWorkInBean); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | return viewWorkInBeans; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Transactional | 
|---|
|  |  |  | public boolean syncMat(MatInfoParam param) { | 
|---|
|  |  |  | Date now = new Date(); | 
|---|
|  |  |  | Mat mat = matService.selectByMatnr(param.getCinvcode()); | 
|---|
|  |  |  | boolean update = true; | 
|---|
|  |  |  | if(Cools.isEmpty(matService.selectByMatnr(param.getCinvcode()))){ | 
|---|
|  |  |  | //物料号 | 
|---|
|  |  |  | mat = new Mat(); | 
|---|
|  |  |  | mat.setMatnr(param.getCinvcode()); | 
|---|
|  |  |  | mat.setCreateTime(now); | 
|---|
|  |  |  | mat.setCreateBy(9999L); | 
|---|
|  |  |  | update = false; | 
|---|
|  |  |  | //            callApiLogSave(param, "/open/asrs/mat/v1", "接收ERP下发商品信息失败!!!商品已存在!!!", false); | 
|---|
|  |  |  | //            param.setType(false); | 
|---|
|  |  |  | //            param.setMemo("商品已存在!"); | 
|---|
|  |  |  | //            return false; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | //Mat mat = new Mat(); | 
|---|
|  |  |  | //物料号 | 
|---|
|  |  |  | //mat.setMatnr(param.getCinvcode()); | 
|---|
|  |  |  | //物料名称 | 
|---|
|  |  |  | mat.setMaktx(param.getCinvname()); | 
|---|
|  |  |  | //规格型号 | 
|---|
|  |  |  | mat.setSpecs(param.getCInvStd()); | 
|---|
|  |  |  | //存货分类编码 | 
|---|
|  |  |  | mat.setBrand(param.getCinvccode()); | 
|---|
|  |  |  | //存货分类名称 | 
|---|
|  |  |  | mat.setColor(param.getCInvCName()); | 
|---|
|  |  |  | //计量单位 | 
|---|
|  |  |  | mat.setUnit(param.getCComUnitName()); | 
|---|
|  |  |  | //进项税 | 
|---|
|  |  |  | mat.setPrice(param.getIImpTaxRate()); | 
|---|
|  |  |  | //销项税 | 
|---|
|  |  |  | mat.setUnits(param.getITaxRate()); | 
|---|
|  |  |  | //启用日期 | 
|---|
|  |  |  | mat.setDsDate(param.getDSDate()); | 
|---|
|  |  |  | //建档人 | 
|---|
|  |  |  | mat.setSupp(param.getCCreatePerson()); | 
|---|
|  |  |  | //建档日期 | 
|---|
|  |  |  | mat.setDInvCreateDatetime(param.getDInvCreateDatetime()); | 
|---|
|  |  |  | //通用型号 | 
|---|
|  |  |  | mat.setModel(param.getCinvdefine4()); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | //9999表示erp下发 | 
|---|
|  |  |  |  | 
|---|
|  |  |  | mat.setUpdateBy(9999L); | 
|---|
|  |  |  | mat.setTagId(1L); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | mat.setUpdateTime(now); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | if(update){ | 
|---|
|  |  |  | if (matService.updateById(mat)){ | 
|---|
|  |  |  | callApiLogSave(param, "/open/asrs/mat/v1", "接收ERP下发商品信息成功!添加商品信息成功!", true); | 
|---|
|  |  |  | param.setUpdate(true); | 
|---|
|  |  |  | } else { | 
|---|
|  |  |  | callApiLogSave(param, "/open/asrs/mat/v1", "添加ERP下发商品信息失败!!!状态异常!!!", false); | 
|---|
|  |  |  | param.setError(true); | 
|---|
|  |  |  | param.setMemo("添加ERP下发商品信息失败!"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | }else { | 
|---|
|  |  |  | if (matService.insert(mat)) { | 
|---|
|  |  |  | callApiLogSave(param, "/open/asrs/mat/v1", "接收ERP下发商品信息成功!添加商品信息成功!", true); | 
|---|
|  |  |  | param.setInsert(true); | 
|---|
|  |  |  | } else { | 
|---|
|  |  |  | callApiLogSave(param, "/open/asrs/mat/v1", "添加ERP下发商品信息失败!!!状态异常!!!", false); | 
|---|
|  |  |  | param.setError(true); | 
|---|
|  |  |  | param.setMemo("添加ERP下发商品信息失败!"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | return true; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Transactional | 
|---|
|  |  |  | public boolean syncOrder(Map<String, Object> param, boolean pakin) { | 
|---|
|  |  |  | if(Cools.isEmpty(param) || Cools.isEmpty(param.get("orderDetails"))){ | 
|---|
|  |  |  | throw new CoolException("单据参数为空或者单据详情为空,无法生成单据信息"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | if(!Cools.isEmpty(orderService.selectByNo(param.get("id").toString()))){ | 
|---|
|  |  |  | throw new CoolException("该单据已存在,无法生成单据信息"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | Date now = new Date(); | 
|---|
|  |  |  | Order order = orderMapping(param,now,pakin); | 
|---|
|  |  |  | orderService.insert(order); | 
|---|
|  |  |  | List<Map<String, Object>> orderDetails = (List<Map<String, Object>>) param.get("orderDetails"); | 
|---|
|  |  |  | orderDetails.forEach(odParam -> { | 
|---|
|  |  |  | OrderDetl od = orderDetlMapping(order,odParam,now); | 
|---|
|  |  |  | orderDetlService.insert(od); | 
|---|
|  |  |  | }); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | return true; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Transactional | 
|---|
|  |  |  | public boolean orderDelete(String orderNo) { | 
|---|
|  |  |  | Order order = orderService.selectByNo(orderNo); | 
|---|
|  |  |  | if(Cools.isEmpty(order)){ | 
|---|
|  |  |  | throw new CoolException("单据不存在,无法删除单据"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | if(order.getSettle() != 1){ | 
|---|
|  |  |  | return false; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | orderService.deleteById(order); | 
|---|
|  |  |  | orderDetlService.delete(new EntityWrapper<OrderDetl>().eq("order_no",orderNo)); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | return true; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | private Order orderMapping(Map<String, Object> param, Date now, boolean pakin){ | 
|---|
|  |  |  | Order order = new Order(); | 
|---|
|  |  |  | //uuid | 
|---|
|  |  |  | order.setUuid(String.valueOf(snowflakeIdWorker.nextId())); | 
|---|
|  |  |  | //核算主体 | 
|---|
|  |  |  | //order.setItemName(param.get("account").toString()); | 
|---|
|  |  |  | order.setItemName(toString(param.get("account"))); | 
|---|
|  |  |  | //单据唯一表示 | 
|---|
|  |  |  | //order.setOrderNo(param.get("id").toString()); | 
|---|
|  |  |  | order.setOrderNo(toString(param.get("id"))); | 
|---|
|  |  |  | //业务类型 | 
|---|
|  |  |  | //order.setDefNumber(param.get("cBusType").toString()); | 
|---|
|  |  |  | order.setDefNumber(toString(param.get("cVouchType"))); | 
|---|
|  |  |  | //单据类型 | 
|---|
|  |  |  | DocType docType = docTypeService.selectOrAdd(param.get("cBusType").toString(), pakin); | 
|---|
|  |  |  | order.setDocType(docType.getDocId()); | 
|---|
|  |  |  | //单据日期 | 
|---|
|  |  |  | //order.setOrderTime(param.get("dDate").toString()); | 
|---|
|  |  |  | order.setOrderTime(toString(param.get("dDate"))); | 
|---|
|  |  |  | //供应商/客户编码 | 
|---|
|  |  |  | //order.setCstmrName(param.get("ks").toString()); | 
|---|
|  |  |  | order.setCstmrName(toString(param.get("ks"))); | 
|---|
|  |  |  | //仓库 | 
|---|
|  |  |  | //order.setTel(param.get("cWhName").toString()); | 
|---|
|  |  |  | order.setTel(toString(param.get("cWhName"))); | 
|---|
|  |  |  | //出入库类别 | 
|---|
|  |  |  | //setOperMemb(param.get("cRdName").toString()); | 
|---|
|  |  |  | order.setOperMemb(toString(param.get("cRdName"))); | 
|---|
|  |  |  | //部门 | 
|---|
|  |  |  | //order.setSalesman(param.get("cDepCode").toString()); | 
|---|
|  |  |  | order.setSalesman(toString(param.get("cDepCode"))); | 
|---|
|  |  |  | //备注 | 
|---|
|  |  |  | //order.setMemo(param.get("cMemo").toString()); | 
|---|
|  |  |  | order.setMemo(toString(param.get("cMemo"))); | 
|---|
|  |  |  | //制单人 | 
|---|
|  |  |  | //order.setShipCode(param.get("cMaker").toString()); | 
|---|
|  |  |  | order.setShipCode(toString(param.get("cMaker"))); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | order.setCreateTime(now); | 
|---|
|  |  |  | order.setUpdateTime(now); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | //订单状态 | 
|---|
|  |  |  | order.setSettle(1L); | 
|---|
|  |  |  | //状态 | 
|---|
|  |  |  | order.setStatus(1); | 
|---|
|  |  |  | return order; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | private OrderDetl orderDetlMapping(Order order, Map<String, Object> odParam, Date now){ | 
|---|
|  |  |  | OrderDetl od = new OrderDetl(); | 
|---|
|  |  |  | od.setOrderId(order.getId()); | 
|---|
|  |  |  | od.setOrderNo(order.getOrderNo()); | 
|---|
|  |  |  | //行唯一标识 | 
|---|
|  |  |  | //od.setItemNum(odParam.get("autoId").toString()); | 
|---|
|  |  |  | od.setItemNum(toString(odParam.get("autoId"))); | 
|---|
|  |  |  | //存货编码 | 
|---|
|  |  |  | //od.setMatnr(odParam.get("cInvCode").toString()); | 
|---|
|  |  |  | od.setMatnr(toString(odParam.get("cInvCode"))); | 
|---|
|  |  |  | //存货名称 | 
|---|
|  |  |  | //od.setMaktx(odParam.get("cInvName").toString()); | 
|---|
|  |  |  | od.setMaktx(toString(odParam.get("cInvName"))); | 
|---|
|  |  |  | //规格型号 | 
|---|
|  |  |  | //od.setSpecs(odParam.get("cInvStd").toString()); | 
|---|
|  |  |  | od.setSpecs(toString(odParam.get("cInvStd"))); | 
|---|
|  |  |  | //计量单位 | 
|---|
|  |  |  | //od.setUnit(odParam.get("cComUnitName").toString()); | 
|---|
|  |  |  | od.setUnit(toString(odParam.get("cComUnitName"))); | 
|---|
|  |  |  | //数量 | 
|---|
|  |  |  | od.setAnfme(Double.parseDouble(odParam.get("iQuantity").toString())); | 
|---|
|  |  |  | //od.setAnfme(toString(odParam.get("iQuantity"))); | 
|---|
|  |  |  | //行号 | 
|---|
|  |  |  | //od.setBrand(odParam.get("irowno").toString()); | 
|---|
|  |  |  | //od.setBrand(toString(odParam.get("irowno"))); | 
|---|
|  |  |  | od.setManu(toString(odParam.get("irowno"))); | 
|---|
|  |  |  | //销售订单号 | 
|---|
|  |  |  | //od.setColor(odParam.get("csocode").toString()); | 
|---|
|  |  |  | //od.setColor(toString(odParam.get("csocode"))); | 
|---|
|  |  |  | od.setThreeCode(toString(odParam.get("csocode"))); | 
|---|
|  |  |  | //销售订单行号 | 
|---|
|  |  |  | //od.setOrigin(odParam.get("isoseq").toString()); | 
|---|
|  |  |  | //od.setOrigin(toString(odParam.get("isoseq"))); | 
|---|
|  |  |  | od.setDeadTime(toString(odParam.get("isoseq"))); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | od.setStatus(1); | 
|---|
|  |  |  | od.setQty(0.0D); | 
|---|
|  |  |  | od.setCreateBy(9999L); | 
|---|
|  |  |  | od.setCreateTime(now); | 
|---|
|  |  |  | od.setUpdateBy(9999L); | 
|---|
|  |  |  | od.setUpdateTime(now); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | return od; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | private String toString(Object o){ | 
|---|
|  |  |  | if(StringUtils.isEmpty(o)){ | 
|---|
|  |  |  | return null; | 
|---|
|  |  |  | }else{ | 
|---|
|  |  |  | return o.toString(); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | public void callApiLogSave(MatInfoParam matParam, String tableName, String response, Boolean bool) { | 
|---|
|  |  |  | apiLogService.save("ERP下发商品信息", tableName, "null", "10.10.10.1", | 
|---|
|  |  |  | "物料编码:" + matParam.getCinvcode() + "、物料名称:" + matParam.getCinvname() + "、规格:" + matParam.getCInvStd() + "、备注:" + matParam.getMemo(), | 
|---|
|  |  |  | response, bool); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | public static void main(String[] args) { | 
|---|
|  |  |  | Object s = null; | 
|---|
|  |  |  | if(StringUtils.isEmpty(s)){ | 
|---|
|  |  |  | System.out.println("null"); | 
|---|
|  |  |  | }else { | 
|---|
|  |  |  | System.out.println(s.toString()); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|