| | |
| | | import com.alibaba.fastjson.JSON; |
| | | import com.alibaba.fastjson.JSONObject; |
| | | import com.baomidou.mybatisplus.mapper.EntityWrapper; |
| | | import com.core.common.Cools; |
| | | import com.zy.asrs.entity.Mat; |
| | | import com.zy.asrs.entity.MaterialInfo; |
| | | import com.zy.asrs.service.ApiLogService; |
| | |
| | | import org.springframework.transaction.annotation.Transactional; |
| | | |
| | | import java.io.IOException; |
| | | import java.text.SimpleDateFormat; |
| | | import java.util.Date; |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | |
| | | @Slf4j |
| | | @Service |
| | | public class MesMatSyncHandler extends AbstractHandler<String> { |
| | | |
| | | @Value("${mes.mat-sync.url}") |
| | | private String url; |
| | | @Value("${mes.mat-sync.uri}") |
| | | private String uri; |
| | | |
| | | @Value("${mes.mat-sync.path}") |
| | | private String path; |
| | |
| | | @Transactional |
| | | public ReturnT<String> start() throws IOException { |
| | | boolean success = true; |
| | | log.info("url:" + url + path); |
| | | JSONObject jsonObject = doGetJsonData(); |
| | | JSONObject jsonObject = doPostJsonData(); |
| | | log.info("MesMatSync jsonObject: " + jsonObject.toJSONString()); |
| | | |
| | | int code = jsonObject.getInteger("code"); |
| | | |
| | |
| | | private void saveApiLog(String response, boolean success) { |
| | | apiLogService.save( |
| | | "商品信息同步", |
| | | url + path, |
| | | uri + path, |
| | | null, |
| | | "127.0.0.1", |
| | | null, |
| | |
| | | } |
| | | |
| | | /* |
| | | 发起一个doGet请求 |
| | | 发起一个请求来获取商品信息 |
| | | */ |
| | | private JSONObject doGetJsonData() throws IOException { |
| | | private JSONObject doPostJsonData() throws IOException { |
| | | |
| | | Map<String, Object> requestParamMap = MesSyncUtil.getRequestParamMap(); |
| | | Mat mat = matService.selectOne(new EntityWrapper<Mat>().orderBy("update_time", false)); |
| | | //如果WMS中有mat信息,则获取最新的mat修改时间,然后获取该时间之后所有更新过的隔膜卷信息。如果没有mat信息,则获取所有隔膜卷信息 |
| | | if(!Cools.isEmpty(mat)){ |
| | | SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); |
| | | requestParamMap.put("time",sdf.format(mat.getUpdateTime())); |
| | | } |
| | | |
| | | return JSON.parseObject( new HttpHandler.Builder() |
| | | .setUri(url) |
| | | .setUri(uri) |
| | | .setPath(path) |
| | | .setParams(MesSyncUtil.getRequestParamMap()) |
| | | .setParams(requestParamMap) |
| | | .build() |
| | | .doGet()); |
| | | .doPostWithParam()); |
| | | } |
| | | |
| | | /* |
| | |
| | | // |
| | | m.setCreateTime((data.getMdate())); |
| | | //修改时间 -- 更新时间 |
| | | m.setUpdateTime(data.getMdate()); |
| | | m.setUpdateTime(new Date()); |
| | | //商品编码 -- 物料编码 |
| | | m.setMatnr(data.getItemCode()); |
| | | //商品名称 -- 物料名称 |