package com.chinaztt.mes.basic.util;
|
|
import cn.hutool.http.HttpRequest;
|
import com.alibaba.fastjson.JSONArray;
|
import com.alibaba.fastjson.JSONObject;
|
import com.baomidou.mybatisplus.core.toolkit.StringUtils;
|
import com.chinaztt.mes.basic.entity.Part;
|
import com.chinaztt.mes.basic.entity.PartBean;
|
import com.chinaztt.mes.basic.mapper.PartMapper;
|
import com.chinaztt.ztt.common.security.util.SecurityUtils;
|
import lombok.AllArgsConstructor;
|
import org.springframework.stereotype.Service;
|
|
import java.util.HashMap;
|
import java.util.Map;
|
|
/**
|
* @Author: cxf
|
* @Date: 2021/06/03 11:20
|
*/
|
@Service
|
@AllArgsConstructor
|
public class PartUtils {
|
private PartBean partBean;
|
private PartMapper partMapper;
|
|
public JSONObject getErpPart(Part part) {
|
JSONObject inAttr = new JSONObject();
|
inAttr.put("PART_NO", part.getPartNo());
|
inAttr.put("PART_DESC", part.getPartName());
|
Map<String, Object> paramMap = new HashMap<>(16);
|
paramMap.put("contract", partBean.getRegion());
|
try {
|
if (StringUtils.isNotBlank(partBean.getSecretKey())) {
|
paramMap.put("contractKey", partBean.getSecretKey());
|
} else if (StringUtils.isNotBlank(partBean.getCleartextSecretKey())) {
|
paramMap.put("contractKey", AesUtils.encrypt(partBean.getCleartextSecretKey()));
|
}
|
} catch (Exception e) {
|
throw new RuntimeException("明文密钥加密失败");
|
}
|
paramMap.put("procedureName", partBean.getName());
|
paramMap.put("userId", SecurityUtils.getUser().getUsername());
|
paramMap.put("inAttr", inAttr);
|
String result = HttpRequest.get(partBean.getIp()).form(paramMap).execute().body();
|
return JSONObject.parseObject(result);
|
}
|
|
/**
|
* 根据零件号去erp接口查询零件,并生成零件
|
*
|
* @param partNo
|
* @return
|
*/
|
public Part getErpPartByPartNo(String partNo) {
|
Part part = new Part();
|
part.setPartNo(partNo);
|
JSONObject obj = getErpPart(part);
|
if (obj != null && obj.getInteger(PartBean.COUNT) > 0) {
|
JSONArray partList = obj.getJSONArray(PartBean.INVENTORY_PART_INFO);
|
JSONObject erpPart = partList.getJSONObject(0);
|
part.setPartName(erpPart.getString(PartBean.PART_DESC));
|
part.setUnit(erpPart.getString(PartBean.UNIT_MEAS));
|
} else {
|
part.setPartName("");
|
}
|
part.setMaterialType("");
|
part.setUseSystemNo(false);
|
partMapper.insert(part);
|
return part;
|
}
|
}
|