| | |
| | | |
| | | import com.alibaba.fastjson.JSON; |
| | | import com.core.common.Cools; |
| | | import com.core.common.DateUtils; |
| | | import lombok.extern.slf4j.Slf4j; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.stereotype.Component; |
| | | import org.springframework.transaction.annotation.Transactional; |
| | | import zy.cloud.wms.common.service.erp.entity.GetDataResult; |
| | | import zy.cloud.wms.common.service.erp.entity.GetBasisResult; |
| | | import zy.cloud.wms.common.service.erp.entity.GetOrderResult; |
| | | import zy.cloud.wms.manager.entity.CustOrder; |
| | | import zy.cloud.wms.manager.entity.Mat; |
| | | import zy.cloud.wms.manager.service.CustOrderService; |
| | | import zy.cloud.wms.manager.service.MatService; |
| | | import zy.cloud.wms.manager.utils.HttpHandler; |
| | | |
| | | import javax.annotation.PostConstruct; |
| | | import java.io.IOException; |
| | | import java.util.Date; |
| | | import java.util.HashMap; |
| | |
| | | @Component |
| | | public class ErpScheduler { |
| | | |
| | | public static final String URI = "http://8.133.182.21:8080/api/"; |
| | | public static final String URI = "http://8.133.182.21:8080/api"; |
| | | public static final String GET_ORDERS = "cM/basis/getOrders"; |
| | | public static final String GET_BASIS = "cM/basis/getBasis"; |
| | | |
| | | @Autowired |
| | | private CustOrderService custOrderService; |
| | | @Autowired |
| | | private MatService matService; |
| | | |
| | | /** |
| | | * 商品/客户下载 |
| | | */ |
| | | // @Scheduled(cron = "0/5 * * * * ? ") |
| | | @PostConstruct |
| | | public void getBasisExecute(){ |
| | | try { |
| | | Map<String, Object> param = new HashMap<>(); |
| | | param.put("rec", 0); |
| | | param.put("Flag", 1); |
| | | String response = new HttpHandler.Builder() |
| | | .setUri(URI) |
| | | .setPath(GET_BASIS) |
| | | .setJson(JSON.toJSONString(param)) |
| | | .build() |
| | | .doPost(); |
| | | if (!Cools.isEmpty(response)) { |
| | | log.info(response); |
| | | Date now = new Date(); |
| | | Result result = JSON.parseObject(response, Result.class); |
| | | if (result.getCode() != 1) { |
| | | return; |
| | | } |
| | | List<GetBasisResult> list = JSON.parseArray(result.getData(), GetBasisResult.class); |
| | | for (GetBasisResult data : list) { |
| | | Mat mat = matService.selectByMatnr(data.getUserCode()); |
| | | String modifyDate = data.getModifyDate(); |
| | | Date updateTime = null; |
| | | if (!Cools.isEmpty(modifyDate)) { |
| | | updateTime = DateUtils.convert(data.getModifyDate()); |
| | | } |
| | | if (null == mat) { |
| | | mat = new Mat( |
| | | String.valueOf(data.getRec()), // 编号 |
| | | null, // 所属区域 |
| | | null, // 所属归类 |
| | | data.getUserCode(), // 商品编号 |
| | | data.getFullName(), // 商品名称 |
| | | null, // 名称 |
| | | null, // 规格 |
| | | null, // 型号 |
| | | null, // 批号 |
| | | null, // 单位 |
| | | null, // 条码 |
| | | null, // 单据类型 |
| | | null, // 单据编号 |
| | | null, // 客户名称 |
| | | null, // 品项数 |
| | | null, // 库存余量 |
| | | null, // 重量 |
| | | 1, // |
| | | null, // 添加人员 |
| | | now, // 添加时间 |
| | | null, // 修改人员 |
| | | updateTime, // 修改时间 |
| | | null // 备注 |
| | | ); |
| | | matService.insert(mat); |
| | | } else { |
| | | mat.setUuid(String.valueOf(data.getRec())); |
| | | mat.setMatnr(data.getUserCode()); |
| | | mat.setMaktx(data.getFullName()); |
| | | mat.setUpdateTime(updateTime); |
| | | matService.updateById(mat); |
| | | } |
| | | log.info("====>> 更新物料:{}", data.getUserCode()); |
| | | } |
| | | |
| | | } |
| | | } catch (Exception e) { |
| | | e.printStackTrace(); |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * 持久化销售订单 |
| | |
| | | .setJson(JSON.toJSONString(json)) |
| | | .build() |
| | | .doPost(); |
| | | if (Cools.isEmpty(response)) { |
| | | log.error("请求:{}\nError,响应结果为空!", URI + GET_ORDERS); |
| | | } else { |
| | | if (!Cools.isEmpty(response)) { |
| | | log.info(response); |
| | | Date now = new Date(); |
| | | Result result = JSON.parseObject(response, Result.class); |
| | | if (result.getCode() != 1) { |
| | | return; |
| | | } |
| | | List<GetDataResult> list = JSON.parseArray(result.getData(), GetDataResult.class); |
| | | List<GetOrderResult> list = JSON.parseArray(result.getData(), GetOrderResult.class); |
| | | if (!Cools.isEmpty(list)) { |
| | | boolean complete = true; |
| | | for (GetDataResult data : list) { |
| | | for (GetOrderResult data : list) { |
| | | CustOrder custOrder = new CustOrder( |
| | | data.getNumber(), // 销售单号 |
| | | data.getBillDate(), // 单据日期[非空] |
| | |
| | | } |
| | | } |
| | | if (complete) { |
| | | List<String> collect = list.stream().map(GetDataResult::getNumber).distinct().collect(Collectors.toList()); |
| | | List<String> collect = list.stream().map(GetOrderResult::getNumber).distinct().collect(Collectors.toList()); |
| | | for (String number : collect) { |
| | | custOrderService.updateStatus(number, 1); |
| | | } |