package com.vincent.rsf.openApi.controller.phyz;
|
|
import com.alibaba.fastjson.JSON;
|
import com.alibaba.fastjson.JSONArray;
|
import com.alibaba.fastjson.JSONObject;
|
import com.vincent.rsf.framework.exception.CoolException;
|
import com.vincent.rsf.openApi.entity.dto.CommonResponse;
|
import com.vincent.rsf.openApi.entity.phyz.*;
|
import io.swagger.annotations.Api;
|
import io.swagger.annotations.ApiOperation;
|
import lombok.extern.slf4j.Slf4j;
|
import org.apache.commons.compress.utils.Lists;
|
import org.springframework.web.bind.annotation.PostMapping;
|
import org.springframework.web.bind.annotation.RequestBody;
|
import org.springframework.web.bind.annotation.RequestMapping;
|
import org.springframework.web.bind.annotation.RestController;
|
|
import java.util.List;
|
import java.util.Objects;
|
|
import static com.vincent.rsf.openApi.controller.AuthController.SIMULATED_DATA_ENABLE;
|
|
@RestController
|
@RequestMapping("/erp")
|
@Api("银座新工厂(五期)ERP接口")
|
@Slf4j
|
public class ERPController {
|
|
@ApiOperation("仓库信息同步")
|
@PostMapping("/wareHouse/sync")
|
public CommonResponse syncWareHouse(@RequestBody Object objParams) {
|
if (Objects.isNull(objParams)) {
|
throw new CoolException("参数不能为空!!");
|
}
|
// 返回模拟数据
|
if (SIMULATED_DATA_ENABLE.equals("1")) {
|
return CommonResponse.ok();
|
}
|
|
JSONArray params = paramsFormat(objParams);
|
List<Warehouse> warehouseList = JSON.parseArray(params.toJSONString(), Warehouse.class);
|
// 数据处理,转发server
|
return CommonResponse.ok();
|
}
|
|
@ApiOperation("物料信息同步")
|
@PostMapping("/mat/sync")
|
public CommonResponse syncMaterial(@RequestBody Object objParams) {
|
if (Objects.isNull(objParams)) {
|
throw new CoolException("参数不能为空!!");
|
}
|
// 返回模拟数据
|
if (SIMULATED_DATA_ENABLE.equals("1")) {
|
return CommonResponse.ok();
|
}
|
|
JSONArray params = paramsFormat(objParams);
|
List<Material> materialList = JSON.parseArray(params.toJSONString(), Material.class);
|
// 数据处理,转发server
|
return CommonResponse.ok();
|
}
|
|
@ApiOperation("客户信息同步")
|
@PostMapping("/customer/sync")
|
public CommonResponse syncCustomer(@RequestBody Object objParams) {
|
if (Objects.isNull(objParams)) {
|
throw new CoolException("参数不能为空!!");
|
}
|
// 返回模拟数据
|
if (SIMULATED_DATA_ENABLE.equals("1")) {
|
return CommonResponse.ok();
|
}
|
|
JSONArray params = paramsFormat(objParams);
|
List<Customer> customerList = JSON.parseArray(params.toJSONString(), Customer.class);
|
// 数据处理,转发server
|
return CommonResponse.ok();
|
}
|
|
@ApiOperation("供应商信息同步")
|
@PostMapping("/supplier/sync")
|
public CommonResponse syncSupplier(@RequestBody Object objParams) {
|
if (Objects.isNull(objParams)) {
|
throw new CoolException("参数不能为空!!");
|
}
|
// 返回模拟数据
|
if (SIMULATED_DATA_ENABLE.equals("1")) {
|
return CommonResponse.ok();
|
}
|
|
JSONArray params = paramsFormat(objParams);
|
List<Supplier> supplierList = JSON.parseArray(params.toJSONString(), Supplier.class);
|
// 数据处理,转发server
|
return CommonResponse.ok();
|
}
|
|
@ApiOperation("入/出库任务通知单")
|
@PostMapping("/order/add")
|
public CommonResponse addOrder(@RequestBody Object objParams) {
|
if (Objects.isNull(objParams)) {
|
throw new CoolException("参数不能为空!!");
|
}
|
// 返回模拟数据
|
if (SIMULATED_DATA_ENABLE.equals("1")) {
|
return CommonResponse.ok();
|
}
|
|
JSONArray params = paramsFormat(objParams);
|
List<Order> orderList = JSON.parseArray(params.toJSONString(), Order.class);
|
// 数据处理,转发server
|
return CommonResponse.ok();
|
}
|
|
@ApiOperation("入/出库任务通知单取消")
|
@PostMapping("/order/cancel")
|
public CommonResponse cancelOrder(@RequestBody Object objParams) {
|
if (Objects.isNull(objParams)) {
|
throw new CoolException("参数不能为空!!");
|
}
|
// 返回模拟数据
|
if (SIMULATED_DATA_ENABLE.equals("1")) {
|
return CommonResponse.ok();
|
}
|
|
JSONArray params = paramsFormat(objParams);
|
List<Order> orderList = JSON.parseArray(params.toJSONString(), Order.class);
|
// 数据处理,转发server
|
return CommonResponse.ok();
|
}
|
|
@ApiOperation("库存查询明细")
|
@PostMapping("/inventory/details")
|
public CommonResponse queryInventoryDetails(@RequestBody JSONObject params) {
|
if (SIMULATED_DATA_ENABLE.equals("1")) {
|
String x = "[\n" +
|
" {\n" +
|
" \"locId\": \"LOC-A-01-01\",\n" +
|
" \"wareHouseId\": \"WH001\",\n" +
|
" \"wareHouseName\": \"原料仓库\",\n" +
|
" \"palletId\": \"PALLET001\",\n" +
|
" \"matNr\": \"MAT10001\",\n" +
|
" \"makTx\": \"钢材Q235\",\n" +
|
" \"spec\": \"国标GB/T700-2006\",\n" +
|
" \"anfme\": 10.5,\n" +
|
" \"unit\": \"吨\",\n" +
|
" \"status\": \"可用\",\n" +
|
" \"orderType\": 1,\n" +
|
" \"orderNo\": \"Order202698921\",\n" +
|
" \"prepareType\": 1,\n" +
|
" \"planNo\": \"PLAN202601060001\",\n" +
|
" \"batch\": \"BATCH20260106001\",\n" +
|
" \"stockOrgId\": \"ORG001\"\n" +
|
" },\n" +
|
" {\n" +
|
" \"locId\": \"LOC-B-02-03\",\n" +
|
" \"wareHouseId\": \"WH002\",\n" +
|
" \"wareHouseName\": \"成品仓库\",\n" +
|
" \"palletId\": \"PALLET002\",\n" +
|
" \"matNr\": \"MAT20001\",\n" +
|
" \"makTx\": \"电机组件\",\n" +
|
" \"spec\": \"380V 50Hz\",\n" +
|
" \"anfme\": 50,\n" +
|
" \"unit\": \"台\",\n" +
|
" \"status\": \"可用\",\n" +
|
" \"orderType\": \"1\",\n" +
|
" \"orderNo\": \"SO202601060001\",\n" +
|
" \"prepareType\": 1,\n" +
|
" \"planNo\": \"PLAN202601060002\",\n" +
|
" \"batch\": \"BATCH20260106002\",\n" +
|
" \"stockOrgId\": \"ORG001\"\n" +
|
" }\n" +
|
"]";
|
return CommonResponse.ok(JSONArray.parseArray(x, InventoryDetails.class));
|
}
|
|
InventoryQueryCondition condition = JSON.parseObject(params.toJSONString(), InventoryQueryCondition.class);
|
// 数据处理,转发server
|
List<InventoryDetails> inventoryDetails = Lists.newArrayList();
|
return new CommonResponse().setCode(200).setData(inventoryDetails);
|
}
|
|
@ApiOperation("库存查询汇总")
|
@PostMapping("/inventory/summary")
|
public CommonResponse queryInventorySummary(@RequestBody JSONObject params) {
|
if (SIMULATED_DATA_ENABLE.equals("1")) {
|
String s = "{\n" +
|
" \"code\": 200,\n" +
|
" \"msg\": \"操作成功\",\n" +
|
" \"data\": [\n" +
|
" {\n" +
|
" \"wareHouseId\": \"WH001\",\n" +
|
" \"wareHouseName\": \"原料仓库\",\n" +
|
" \"matNr\": \"MAT10001\",\n" +
|
" \"makTx\": \"钢材Q235\",\n" +
|
" \"spec\": \"国标GB/T700-2006\",\n" +
|
" \"anfme\": 10.5,\n" +
|
" \"unit\": \"吨\",\n" +
|
" \"stockOrgId\": \"ORG001\",\n" +
|
" \"batch\": \"BATCH20260106001\",\n" +
|
" \"planNo\": \"Plan20260106006\"\n" +
|
" },\n" +
|
" {\n" +
|
" \"wareHouseId\": \"WH001\",\n" +
|
" \"wareHouseName\": \"原料仓库\",\n" +
|
" \"matNr\": \"MAT10002\",\n" +
|
" \"makTx\": \"铝型材6061\",\n" +
|
" \"spec\": \"国标GB/T3190-2008\",\n" +
|
" \"anfme\": 20.3,\n" +
|
" \"unit\": \"吨\",\n" +
|
" \"stockOrgId\": \"ORG001\",\n" +
|
" \"batch\": \"BATCH20260106002\",\n" +
|
" \"planNo\": \"Plan20260106005\"\n" +
|
" },\n" +
|
" {\n" +
|
" \"wareHouseId\": \"WH002\",\n" +
|
" \"wareHouseName\": \"成品仓库\",\n" +
|
" \"matNr\": \"MAT30001\",\n" +
|
" \"makTx\": \"电机成品\",\n" +
|
" \"spec\": \"380V 50Hz 15KW\",\n" +
|
" \"anfme\": 100,\n" +
|
" \"unit\": \"台\",\n" +
|
" \"stockOrgId\": \"ORG001\",\n" +
|
" \"batch\": \"BATCH20260106003\",\n" +
|
" \"planNo\": \"Plan20260106004\"\n" +
|
" }\n" +
|
" ]\n" +
|
"}";
|
return JSONObject.parseObject(s, CommonResponse.class);
|
}
|
|
InventoryQueryCondition condition = JSON.parseObject(params.toJSONString(), InventoryQueryCondition.class);
|
// 数据处理,转发server
|
List<InventorySummary> inventorySummaries = Lists.newArrayList();
|
return new CommonResponse().setCode(200).setData(inventorySummaries);
|
|
}
|
|
@ApiOperation("盘点结果确认")
|
@PostMapping("/check/confirm")
|
public CommonResponse checkConfirm(@RequestBody Object objParams) {
|
if (Objects.isNull(objParams)) {
|
throw new CoolException("参数不能为空!!");
|
}
|
// 返回模拟数据
|
if (SIMULATED_DATA_ENABLE.equals("1")) {
|
return CommonResponse.ok();
|
}
|
|
JSONArray params = paramsFormat(objParams);
|
CheckOrder checkResult = JSON.parseObject(params.toJSONString(), CheckOrder.class);
|
// 数据处理,转发server
|
return CommonResponse.ok();
|
}
|
|
/**
|
* 兼容JSONObject和JSONArray格式数据
|
*
|
* @param data json格式参数
|
* @return JSONArray格式数据
|
*/
|
public static JSONArray paramsFormat(Object data) {
|
if (Objects.isNull(data)) {
|
return new JSONArray();
|
}
|
|
try {
|
String jsonStr = JSON.toJSONString(data);
|
if (jsonStr.startsWith("[")) {
|
return JSON.parseArray(jsonStr);
|
} else if (jsonStr.startsWith("{")) {
|
JSONArray params = new JSONArray();
|
params.add(JSON.parseObject(jsonStr));
|
return params;
|
}
|
} catch (Exception e) {
|
// 解析失败,返回空数组
|
log.error("转换参数为json格式错误", e);
|
}
|
|
// 默认返回空数组
|
return new JSONArray();
|
}
|
|
}
|