提交
This commit is contained in:
@@ -0,0 +1,50 @@
|
|||||||
|
|
||||||
|
package org.nl.wms.ext.acs.rest;
|
||||||
|
|
||||||
|
|
||||||
|
import io.swagger.annotations.Api;
|
||||||
|
import io.swagger.annotations.ApiOperation;
|
||||||
|
import lombok.RequiredArgsConstructor;
|
||||||
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
import org.nl.annotation.Log;
|
||||||
|
import org.nl.wms.ext.acs.service.WmsToJnService;
|
||||||
|
import org.springframework.http.HttpStatus;
|
||||||
|
import org.springframework.http.ResponseEntity;
|
||||||
|
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.Map;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author qinx
|
||||||
|
* @date 2021-07-21
|
||||||
|
**/
|
||||||
|
@RestController
|
||||||
|
@RequiredArgsConstructor
|
||||||
|
@Api(tags = "wms发送acs")
|
||||||
|
@RequestMapping("/api/wmsToJn/task")
|
||||||
|
@Slf4j
|
||||||
|
public class WmsToJnController {
|
||||||
|
|
||||||
|
private final WmsToJnService WmsToJnService;
|
||||||
|
|
||||||
|
@PostMapping("/synchroDaySchedule")
|
||||||
|
@Log("WMS同步jn日计划")
|
||||||
|
@ApiOperation("WMS同步jn日计划")
|
||||||
|
public ResponseEntity<Object> synchroDaySchedule(@RequestBody Map whereJson) {
|
||||||
|
return new ResponseEntity<>(WmsToJnService.synchroDaySchedule(whereJson), HttpStatus.OK);
|
||||||
|
}
|
||||||
|
|
||||||
|
@PostMapping("/synchroMaterial")
|
||||||
|
@Log("WMS同步jn物料")
|
||||||
|
@ApiOperation("WMS同步jn物料")
|
||||||
|
public ResponseEntity<Object> synchroMaterial(@RequestBody Map whereJson) {
|
||||||
|
return new ResponseEntity<>(WmsToJnService.synchroMaterial(whereJson), HttpStatus.OK);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,29 @@
|
|||||||
|
package org.nl.wms.ext.acs.service;
|
||||||
|
|
||||||
|
import com.alibaba.fastjson.JSONArray;
|
||||||
|
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
public interface WmsToJnService {
|
||||||
|
/**
|
||||||
|
* WMS同步jn日计划
|
||||||
|
*
|
||||||
|
* @param jsonObject 条件
|
||||||
|
* @return Map<String, Object>
|
||||||
|
*/
|
||||||
|
|
||||||
|
Map<String, Object> synchroDaySchedule(Map whereJson);
|
||||||
|
/**
|
||||||
|
* WMS同步jn物料
|
||||||
|
*
|
||||||
|
* @param jsonObject 条件
|
||||||
|
* @return Map<String, Object>
|
||||||
|
*/
|
||||||
|
|
||||||
|
Map<String, Object> synchroMaterial(Map whereJson);
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,115 @@
|
|||||||
|
package org.nl.wms.ext.acs.service.impl;
|
||||||
|
|
||||||
|
import cn.hutool.core.date.DateUtil;
|
||||||
|
import cn.hutool.core.util.IdUtil;
|
||||||
|
import cn.hutool.core.util.ObjectUtil;
|
||||||
|
import cn.hutool.core.util.StrUtil;
|
||||||
|
import cn.hutool.http.HttpRequest;
|
||||||
|
import com.alibaba.fastjson.JSONArray;
|
||||||
|
import com.alibaba.fastjson.JSONObject;
|
||||||
|
import lombok.RequiredArgsConstructor;
|
||||||
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
import org.nl.wms.ext.acs.service.WmsToAcsService;
|
||||||
|
import org.nl.wms.ext.acs.service.WmsToJnService;
|
||||||
|
import org.nl.wms.sch.AcsUtil;
|
||||||
|
import org.nl.wql.WQL;
|
||||||
|
import org.nl.wql.core.bean.WQLObject;
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
|
import java.util.Date;
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
|
@Service
|
||||||
|
@RequiredArgsConstructor
|
||||||
|
@Slf4j
|
||||||
|
public class WmsToJnServiceImpl implements WmsToJnService {
|
||||||
|
private String URL = "192.168.23.32";
|
||||||
|
final static int timeout = 3000;
|
||||||
|
private String today = DateUtil.today();
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Map<String, Object> synchroDaySchedule(Map whereJson) {
|
||||||
|
//同步日计划
|
||||||
|
JSONObject obj = new JSONObject();
|
||||||
|
obj.put("date", today);
|
||||||
|
String resultMsg = HttpRequest.post(URL)
|
||||||
|
.body(String.valueOf(obj)).timeout(timeout)
|
||||||
|
.execute().body();
|
||||||
|
JSONObject result = JSONObject.parseObject(resultMsg);
|
||||||
|
String code = result.getString("code");
|
||||||
|
if (StrUtil.isNotEmpty(code) && code.equals("200")) {
|
||||||
|
log.info("wms同步嘉耐日计划成功!");
|
||||||
|
} else {
|
||||||
|
log.info("wms同步嘉耐日计划失败!");
|
||||||
|
}
|
||||||
|
WQLObject dayScheduleTable = WQLObject.getWQLObject("pdm_bi_dayschedule");
|
||||||
|
JSONArray dayScheduleArr = result.getJSONArray("data");
|
||||||
|
for (int i = 0; i < dayScheduleArr.size(); i++) {
|
||||||
|
JSONObject dayScheduleObj = dayScheduleArr.getJSONObject(i);
|
||||||
|
JSONObject scheduleObj = dayScheduleTable.query("ext_dayschedule_code='" + dayScheduleObj.getString("ext_dayschedule_code") + "'").uniqueResult(0);
|
||||||
|
if (ObjectUtil.isEmpty(scheduleObj)) {
|
||||||
|
JSONObject jo = new JSONObject();
|
||||||
|
jo.put("dayschedule_id", IdUtil.getSnowflake(1, 1).nextId());
|
||||||
|
jo.put("ext_dayschedule_code", scheduleObj.getString("ext_dayschedule_code"));
|
||||||
|
jo.put("date", today);
|
||||||
|
jo.put("ext_dayschedule_code", scheduleObj.getString("ext_dayschedule_code"));
|
||||||
|
jo.put("ext_device_code", scheduleObj.getString("ext_device_code"));
|
||||||
|
jo.put("device_id", scheduleObj.getString("device_id"));
|
||||||
|
jo.put("device_code", scheduleObj.getString("device_code"));
|
||||||
|
jo.put("material_id", scheduleObj.getString("material_id"));
|
||||||
|
jo.put("material_code", scheduleObj.getString("material_code"));
|
||||||
|
jo.put("material_name", scheduleObj.getString("material_name"));
|
||||||
|
jo.put("material_spec", scheduleObj.getString("material_spec"));
|
||||||
|
jo.put("single_weight", scheduleObj.getString("single_weight"));
|
||||||
|
jo.put("qty", scheduleObj.getString("qty"));
|
||||||
|
jo.put("qty_unit_id", scheduleObj.getString("qty_unit_id"));
|
||||||
|
jo.put("label", scheduleObj.getString("label"));
|
||||||
|
jo.put("is_delete", "1");
|
||||||
|
dayScheduleTable.insert(jo);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Map<String, Object> synchroMaterial(Map whereJson) {
|
||||||
|
String material_code = (String) whereJson.get("material_code");
|
||||||
|
String material_name = (String) whereJson.get("material_name");
|
||||||
|
String material_spec = (String) whereJson.get("material_spec");
|
||||||
|
String ext_id = (String) whereJson.get("ext_id");
|
||||||
|
WQLObject materialTable = WQLObject.getWQLObject("md_me_material");
|
||||||
|
JSONObject obj = new JSONObject();
|
||||||
|
obj.put("material_code", material_code);
|
||||||
|
obj.put("material_spec", material_spec);
|
||||||
|
String resultMsg = HttpRequest.post(URL)
|
||||||
|
.body(String.valueOf(obj)).timeout(timeout)
|
||||||
|
.execute().body();
|
||||||
|
JSONObject result = JSONObject.parseObject(resultMsg);
|
||||||
|
String code = result.getString("code");
|
||||||
|
if (StrUtil.isNotEmpty(code) && code.equals("200")) {
|
||||||
|
log.info("wms同步嘉耐物料成功!");
|
||||||
|
} else {
|
||||||
|
log.info("wms同步嘉耐物料失败!");
|
||||||
|
}
|
||||||
|
JSONArray materialarr = result.getJSONArray("data");
|
||||||
|
for (int i = 0; i < materialarr.size(); i++) {
|
||||||
|
JSONObject materialjo = materialarr.getJSONObject(i);
|
||||||
|
JSONObject materialObj = new JSONObject();
|
||||||
|
materialObj.put("material_id", IdUtil.getSnowflake(1, 1).nextId());
|
||||||
|
materialObj.put("material_code", materialjo.getString("material_code"));
|
||||||
|
materialObj.put("material_name", materialjo.getString("material_name"));
|
||||||
|
materialObj.put("material_spec", materialjo.getString("material_spec"));
|
||||||
|
materialObj.put("material_model", materialjo.getString("material_name"));
|
||||||
|
materialObj.put("create_id", "1");
|
||||||
|
materialObj.put("create_time", DateUtil.now());
|
||||||
|
materialObj.put("create_name", "qinx");
|
||||||
|
materialObj.put("is_used", "1");
|
||||||
|
materialObj.put("is_manmade", "1");
|
||||||
|
materialObj.put("ext_id", materialjo.getString("ext_id"));
|
||||||
|
materialObj.put("stewing_time", 0);
|
||||||
|
materialTable.insert(materialjo);
|
||||||
|
}
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -48,11 +48,20 @@
|
|||||||
FROM
|
FROM
|
||||||
(
|
(
|
||||||
SELECT
|
SELECT
|
||||||
structrelamaterial.*,
|
any_value ( structrelamaterial.relation_id ) AS relation_id,
|
||||||
struct.struct_code,
|
any_value ( structrelamaterial.struct_id ) AS struct_id,
|
||||||
struct.struct_name,
|
any_value ( structrelamaterial.material_id ) AS material_id,
|
||||||
sect.sect_name,
|
any_value ( structrelamaterial.create_id ) AS create_id,
|
||||||
stor.stor_name
|
any_value ( structrelamaterial.create_name ) AS create_name,
|
||||||
|
any_value ( structrelamaterial.create_time ) AS create_time,
|
||||||
|
any_value ( structrelamaterial.update_optid ) AS update_optid,
|
||||||
|
any_value ( structrelamaterial.update_optname ) AS update_optname,
|
||||||
|
any_value ( structrelamaterial.update_time ) AS update_time,
|
||||||
|
any_value ( structrelamaterial.is_delete ) AS is_delete,
|
||||||
|
any_value ( struct.struct_code ) AS struct_code,
|
||||||
|
any_value ( struct.struct_name ) AS struct_name,
|
||||||
|
any_value ( sect.sect_name ) AS sect_name,
|
||||||
|
any_value ( stor.stor_name ) AS stor_name
|
||||||
FROM
|
FROM
|
||||||
st_ivt_structrelamaterial structrelamaterial
|
st_ivt_structrelamaterial structrelamaterial
|
||||||
LEFT JOIN st_ivt_structattr struct ON structrelamaterial.struct_id = struct.struct_id
|
LEFT JOIN st_ivt_structattr struct ON structrelamaterial.struct_id = struct.struct_id
|
||||||
@@ -63,7 +72,7 @@
|
|||||||
GROUP BY
|
GROUP BY
|
||||||
structrelamaterial.struct_id
|
structrelamaterial.struct_id
|
||||||
) view_struct
|
) view_struct
|
||||||
where
|
WHERE
|
||||||
1 = 1
|
1 = 1
|
||||||
OPTION 输入.search <> ""
|
OPTION 输入.search <> ""
|
||||||
(view_struct.struct_code like 输入.search or
|
(view_struct.struct_code like 输入.search or
|
||||||
@@ -73,6 +82,7 @@
|
|||||||
ENDPAGEQUERY
|
ENDPAGEQUERY
|
||||||
ENDIF
|
ENDIF
|
||||||
|
|
||||||
|
|
||||||
IF 输入.flag = "2"
|
IF 输入.flag = "2"
|
||||||
PAGEQUERY
|
PAGEQUERY
|
||||||
SELECT
|
SELECT
|
||||||
|
|||||||
@@ -59,19 +59,21 @@
|
|||||||
FROM
|
FROM
|
||||||
(
|
(
|
||||||
SELECT
|
SELECT
|
||||||
vehicleType.struct_id,
|
any_value ( vehicleType.struct_id ) AS struct_id,
|
||||||
vehicleType.create_id,
|
any_value ( vehicleType.create_id ) AS create_id,
|
||||||
vehicleType.create_name,
|
any_value ( vehicleType.create_name ) AS create_name,
|
||||||
vehicleType.create_time,
|
any_value ( vehicleType.create_time ) AS create_time,
|
||||||
vehicleType.update_optname,
|
any_value ( vehicleType.update_optname ) AS update_optname,
|
||||||
vehicleType.update_time,
|
any_value ( struct.struct_code ) AS struct_code,
|
||||||
GROUP_CONCAT(vehicleType.vehicle_type) as vehicle_type,
|
any_value ( vehicleType.update_time ) AS update_time,
|
||||||
struct.struct_name,
|
any_value ( struct.struct_name ) AS struct_name,
|
||||||
struct.struct_code
|
any_value ( GROUP_CONCAT( vehicleType.vehicle_type ) ) AS vehicle_type
|
||||||
FROM
|
FROM
|
||||||
ST_IVT_StructRelaVehicleType vehicleType
|
ST_IVT_StructRelaVehicleType vehicleType
|
||||||
LEFT JOIN st_ivt_structattr struct ON vehicleType.struct_id = struct.struct_id
|
LEFT JOIN st_ivt_structattr struct ON vehicleType.struct_id = struct.struct_id
|
||||||
GROUP BY vehicleType.struct_id) AS view_vehicleType
|
GROUP BY
|
||||||
|
vehicleType.struct_id
|
||||||
|
) AS view_vehicleType
|
||||||
WHERE
|
WHERE
|
||||||
1 = 1
|
1 = 1
|
||||||
OPTION 输入.search <> ""
|
OPTION 输入.search <> ""
|
||||||
@@ -81,4 +83,3 @@
|
|||||||
ENDSELECT
|
ENDSELECT
|
||||||
ENDPAGEQUERY
|
ENDPAGEQUERY
|
||||||
ENDIF
|
ENDIF
|
||||||
|
|
||||||
|
|||||||
Binary file not shown.
Reference in New Issue
Block a user