| | |
| | | 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.ArrayList; |
| | | import java.util.Date; |
| | |
| | | |
| | | @Transactional |
| | | public boolean syncMat(MatInfoParam param) { |
| | | if(!Cools.isEmpty(matService.selectByMatnr(param.getCinvcode()))){ |
| | | callApiLogSave(param, "/open/asrs/mat/v1", "接收ERP下发商品信息失败!!!商品已存在!!!", false); |
| | | param.setType(false); |
| | | param.setMemo("商品已存在!"); |
| | | return false; |
| | | } |
| | | Date now = new Date(); |
| | | Mat mat = new Mat(); |
| | | 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.setMatnr(param.getCinvcode()); |
| | | //物料名称 |
| | | mat.setMaktx(param.getCinvname()); |
| | | //规格型号 |
| | |
| | | //通用型号 |
| | | mat.setModel(param.getCinvdefine4()); |
| | | |
| | | mat.setCreateTime(now); |
| | | //9999表示erp下发 |
| | | |
| | | mat.setUpdateBy(9999L); |
| | | mat.setTagId(1L); |
| | | |
| | | mat.setUpdateTime(now); |
| | | |
| | | if (matService.insert(mat)) { |
| | | callApiLogSave(param, "/open/asrs/mat/v1", "接收ERP下发商品信息成功!添加商品信息成功!", true); |
| | | param.setType(true); |
| | | } else { |
| | | callApiLogSave(param, "/open/asrs/mat/v1", "添加ERP下发商品信息失败!!!状态异常!!!", false); |
| | | param.setType(false); |
| | | param.setMemo("添加ERP下发商品信息失败!"); |
| | | 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下发商品信息失败!"); |
| | | } |
| | | } |
| | | |
| | | matService.insert(mat); |
| | | |
| | | |
| | | return true; |
| | | } |
| | |
| | | if(!Cools.isEmpty(orderService.selectByNo(param.get("id").toString()))){ |
| | | throw new CoolException("该单据已存在,无法生成单据信息"); |
| | | } |
| | | Order order = orderMapping(param); |
| | | Date now = new Date(); |
| | | Order order = orderMapping(param,now); |
| | | orderService.insert(order); |
| | | List<Map<String, Object>> orderDetails = (List<Map<String, Object>>) param.get("orderDetails"); |
| | | orderDetails.forEach(odParam -> { |
| | | OrderDetl od = orderDetlMapping(order.getOrderNo(),odParam); |
| | | OrderDetl od = orderDetlMapping(order,odParam,now); |
| | | orderDetlService.insert(od); |
| | | }); |
| | | |
| | |
| | | return true; |
| | | } |
| | | |
| | | private Order orderMapping(Map<String, Object> param){ |
| | | Date now = new Date(); |
| | | private Order orderMapping(Map<String, Object> param, Date now){ |
| | | Order order = new Order(); |
| | | //uuid |
| | | order.setUuid(String.valueOf(snowflakeIdWorker.nextId())); |
| | | //核算主体 |
| | | order.setItemName(param.get("account").toString()); |
| | | //order.setItemName(param.get("account").toString()); |
| | | order.setItemName(toString(param.get("account"))); |
| | | //单据唯一表示 |
| | | order.setOrderNo(param.get("id").toString()); |
| | | //order.setOrderNo(param.get("id").toString()); |
| | | order.setOrderNo(toString(param.get("id"))); |
| | | //业务类型 |
| | | order.setDefNumber(param.get("cBusType").toString()); |
| | | //order.setDefNumber(param.get("cBusType").toString()); |
| | | order.setDefNumber(toString(param.get("cBusType"))); |
| | | //单据类型 |
| | | DocType docType = docTypeService.selectOrAdd(param.get("cVouchType").toString(), Boolean.TRUE); |
| | | order.setDocType(docType.getDocId()); |
| | | //单据日期 |
| | | order.setOrderTime(param.get("dDate").toString()); |
| | | //order.setOrderTime(param.get("dDate").toString()); |
| | | order.setOrderTime(toString(param.get("dDate"))); |
| | | //供应商/客户编码 |
| | | order.setCstmrName(param.get("ks").toString()); |
| | | //order.setCstmrName(param.get("ks").toString()); |
| | | order.setCstmrName(toString(param.get("ks"))); |
| | | //仓库 |
| | | order.setTel(param.get("cWhName").toString()); |
| | | //order.setTel(param.get("cWhName").toString()); |
| | | order.setTel(toString(param.get("cWhName"))); |
| | | //出入库类别 |
| | | order.setOperMemb(param.get("cRdName").toString()); |
| | | //setOperMemb(param.get("cRdName").toString()); |
| | | order.setOperMemb(toString(param.get("cRdName"))); |
| | | //部门 |
| | | order.setSalesman(param.get("cDepCode").toString()); |
| | | //order.setSalesman(param.get("cDepCode").toString()); |
| | | order.setSalesman(toString(param.get("cDepCode"))); |
| | | //备注 |
| | | order.setMemo(param.get("cMemo").toString()); |
| | | //order.setMemo(param.get("cMemo").toString()); |
| | | order.setMemo(toString(param.get("cMemo"))); |
| | | //制单人 |
| | | order.setShipCode(param.get("cMaker").toString()); |
| | | //order.setShipCode(param.get("cMaker").toString()); |
| | | order.setShipCode(toString(param.get("cMaker"))); |
| | | |
| | | order.setCreateTime(now); |
| | | order.setUpdateTime(now); |
| | |
| | | return order; |
| | | } |
| | | |
| | | private OrderDetl orderDetlMapping(String orderId, Map<String, Object> odParam){ |
| | | private OrderDetl orderDetlMapping(Order order, Map<String, Object> odParam, Date now){ |
| | | OrderDetl od = new OrderDetl(); |
| | | od.setOrderNo(orderId); |
| | | od.setOrderId(order.getId()); |
| | | od.setOrderNo(order.getOrderNo()); |
| | | //行唯一标识 |
| | | od.setItemNum(odParam.get("autoId").toString()); |
| | | //od.setItemNum(odParam.get("autoId").toString()); |
| | | od.setItemNum(toString(odParam.get("autoId"))); |
| | | //存货编码 |
| | | od.setMatnr(odParam.get("cInvCode").toString()); |
| | | //od.setMatnr(odParam.get("cInvCode").toString()); |
| | | od.setMatnr(toString(odParam.get("cInvCode"))); |
| | | //存货名称 |
| | | od.setMaktx(odParam.get("cInvName").toString()); |
| | | //od.setMaktx(odParam.get("cInvName").toString()); |
| | | od.setMaktx(toString(odParam.get("cInvName"))); |
| | | //规格型号 |
| | | od.setSpecs(odParam.get("cInvStd").toString()); |
| | | //od.setSpecs(odParam.get("cInvStd").toString()); |
| | | od.setSpecs(toString(odParam.get("cInvStd"))); |
| | | //计量单位 |
| | | od.setUnit(odParam.get("cComUnitName").toString()); |
| | | //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(odParam.get("irowno").toString()); |
| | | od.setBrand(toString(odParam.get("irowno"))); |
| | | //销售订单号 |
| | | od.setColor(odParam.get("csocode").toString()); |
| | | //od.setColor(odParam.get("csocode").toString()); |
| | | od.setColor(toString(odParam.get("csocode"))); |
| | | //销售订单行号 |
| | | od.setOrigin(odParam.get("isoseq").toString()); |
| | | //od.setOrigin(odParam.get("isoseq").toString()); |
| | | od.setOrigin(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(); |
| | | } |
| | | } |
| | | |
| | | |
| | |
| | | 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()); |
| | | } |
| | | } |
| | | } |