116 lines
5.0 KiB
Java
116 lines
5.0 KiB
Java
package com.ruoyi.system.controller;
|
||
|
||
import com.google.gson.JsonArray;
|
||
import com.google.gson.JsonObject;
|
||
import com.kingdee.bos.webapi.sdk.K3CloudApi;
|
||
import com.ruoyi.common.annotation.Log;
|
||
import com.ruoyi.common.core.domain.PageQuery;
|
||
import com.ruoyi.common.core.domain.R;
|
||
import com.ruoyi.common.core.page.TableDataInfo;
|
||
import com.ruoyi.common.utils.JdUtils;
|
||
import com.ruoyi.system.domain.bo.ImMaterialBo;
|
||
import com.ruoyi.system.domain.bo.ImProductionPlanBo;
|
||
import com.ruoyi.system.domain.vo.ImMaterialVo;
|
||
import com.ruoyi.system.domain.vo.InventoryInfoVO;
|
||
import com.ruoyi.system.service.IImMaterialService;
|
||
import com.ruoyi.system.service.IImProductionPlanService;
|
||
import lombok.RequiredArgsConstructor;
|
||
import org.springframework.web.bind.annotation.*;
|
||
|
||
import java.text.SimpleDateFormat;
|
||
import java.util.Date;
|
||
import java.util.Map;
|
||
|
||
@RequiredArgsConstructor
|
||
@RestController
|
||
@RequestMapping("/index")
|
||
public class IndexController {
|
||
private final IImMaterialService iImMaterialService;
|
||
private final IImProductionPlanService imProductionPlanService;
|
||
|
||
@GetMapping("/list")
|
||
public TableDataInfo<ImMaterialVo> list(ImMaterialBo bo, PageQuery pageQuery) {
|
||
return iImMaterialService.queryPageList(bo, pageQuery);
|
||
}
|
||
|
||
/**
|
||
* 金蝶chaxun
|
||
*/
|
||
@GetMapping("/inventory")
|
||
public R<InventoryInfoVO> handleData(String materialCode) {
|
||
|
||
Map<String, String> marilMap = JdUtils.selectKuCun(materialCode);
|
||
if (marilMap.isEmpty() ) {
|
||
// 处理查询失败的情况
|
||
return R.fail("库存信息未找到");
|
||
}
|
||
InventoryInfoVO inventoryInfoVO = new InventoryInfoVO();
|
||
inventoryInfoVO.setMaterialCode(marilMap.get("materialCode"));
|
||
inventoryInfoVO.setQuantity(marilMap.get("inventory"));
|
||
inventoryInfoVO.setMaterialName(marilMap.get("materialName"));
|
||
inventoryInfoVO.setStockName(marilMap.get("stockName"));
|
||
inventoryInfoVO.setStockUnit(marilMap.get("stockUnit"));
|
||
return R.ok(inventoryInfoVO);
|
||
}
|
||
@Log(title = "生产计划")
|
||
@PostMapping("/JDList")
|
||
public void synchronize_lists() {
|
||
K3CloudApi client = new K3CloudApi();
|
||
|
||
//请求参数,要求为json字符串
|
||
JsonObject json = new JsonObject();
|
||
json.addProperty("FormId", "PRD_MO");
|
||
json.addProperty("FieldKeys", "FID,F_UCHN_Text,FBillType.FNUMBER,FMaterialId.FNumber,FMaterialName,FQty,FBillType.FNUMBER,FWorkShopID.FNumber,FDate,FProductType,FPickMtrlStatus");
|
||
JsonArray filterString = new JsonArray();
|
||
JsonObject filterObject = new JsonObject();
|
||
filterObject.addProperty("FieldName", "F_UCHN_Text");
|
||
filterObject.addProperty("Compare", "17");
|
||
filterObject.addProperty("Value", "QB");
|
||
filterObject.addProperty("Left", "");
|
||
filterObject.addProperty("Right", "");
|
||
filterObject.addProperty("Logic", 0);
|
||
filterString.add(filterObject);
|
||
json.add("FilterString", filterString);
|
||
json.addProperty("OrderString", "");
|
||
json.addProperty("TopRowCount", 0);
|
||
json.addProperty("StartRow", 0);
|
||
json.addProperty("Limit", 2000);
|
||
json.addProperty("SubSystemId", "");
|
||
|
||
String jsonData = json.toString();
|
||
try {
|
||
|
||
// 调用接口并获取结果
|
||
String input = String.valueOf(client.executeBillQuery(jsonData));
|
||
input = input.substring(2, input.length() - 2);
|
||
String[] split = input.split("]\\, \\[");
|
||
for (String imProductionn : split) {
|
||
ImProductionPlanBo imProductionPlan = new ImProductionPlanBo();
|
||
String[] imPro= imProductionn.split(",");
|
||
imProductionPlan.setFID(Long.valueOf(imPro[0]));
|
||
imProductionPlan.setProductionCode(imPro[1]);
|
||
imProductionPlan.setTypeName(imPro[2]);
|
||
imProductionPlan.setWorkShop(imPro[7]);
|
||
// 解析时间
|
||
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss");
|
||
Date parse = simpleDateFormat.parse(imPro[8]);
|
||
imProductionPlan.setDateF(parse);
|
||
imProductionPlan.setUnit(imPro[9]);
|
||
imProductionPlan.setProductTyp(imPro[10]);
|
||
imProductionPlan.setFigureNumber(imPro[3]);
|
||
imProductionPlan.setFigureName(imPro[4]);
|
||
// imProductionPlan.setOneNumber(imPro[5]);
|
||
imProductionPlan.setPickmtrlStatus(imPro[10]);
|
||
imProductionPlan.setUpdateTime(new Date());
|
||
imProductionPlan.setSearchValue("1");
|
||
imProductionPlan.setUpdateBy("admin");
|
||
imProductionPlan.setCreateTime(new Date());
|
||
imProductionPlan.setCreateBy("admin");
|
||
imProductionPlanService.insertByBo(imProductionPlan) ;
|
||
}
|
||
} catch (Exception e) {
|
||
e.printStackTrace();
|
||
}
|
||
}
|
||
}
|