This commit is contained in:
18188916393
2022-08-04 10:34:13 +08:00
parent f403b6c3d2
commit 9c89176e30
6 changed files with 262 additions and 57 deletions

View File

@@ -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);
}
}

View File

@@ -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);
}

View File

@@ -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;
}
}

View File

@@ -42,36 +42,46 @@
##########################################
IF 输入.flag = "1"
PAGEQUERY
SELECT
view_struct.*
FROM
(
SELECT
structrelamaterial.*,
struct.struct_code,
struct.struct_name,
sect.sect_name,
stor.stor_name
FROM
st_ivt_structrelamaterial structrelamaterial
LEFT JOIN st_ivt_structattr struct ON structrelamaterial.struct_id = struct.struct_id
LEFT JOIN st_ivt_sectattr sect ON struct.sect_id = sect.sect_id
LEFT JOIN st_ivt_bsrealstorattr stor ON struct.stor_id = stor.stor_id
WHERE
structrelamaterial.is_delete = '0'
GROUP BY
structrelamaterial.struct_id
) view_struct
where
1 = 1
OPTION 输入.search <> ""
(view_struct.struct_code like 输入.search or
view_struct.struct_name like 输入.search)
ENDOPTION
ENDSELECT
ENDPAGEQUERY
ENDIF
PAGEQUERY
SELECT
view_struct.*
FROM
(
SELECT
any_value ( structrelamaterial.relation_id ) AS relation_id,
any_value ( structrelamaterial.struct_id ) AS struct_id,
any_value ( structrelamaterial.material_id ) AS material_id,
any_value ( structrelamaterial.create_id ) AS create_id,
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
st_ivt_structrelamaterial structrelamaterial
LEFT JOIN st_ivt_structattr struct ON structrelamaterial.struct_id = struct.struct_id
LEFT JOIN st_ivt_sectattr sect ON struct.sect_id = sect.sect_id
LEFT JOIN st_ivt_bsrealstorattr stor ON struct.stor_id = stor.stor_id
WHERE
structrelamaterial.is_delete = '0'
GROUP BY
structrelamaterial.struct_id
) view_struct
WHERE
1 = 1
OPTION 输入.search <> ""
(view_struct.struct_code like 输入.search or
view_struct.struct_name like 输入.search)
ENDOPTION
ENDSELECT
ENDPAGEQUERY
ENDIF
IF 输入.flag = "2"
PAGEQUERY

View File

@@ -52,33 +52,34 @@
ENDPAGEQUERY
ENDIF
IF 输入.flag = "2"
PAGEQUERY
IF 输入.flag = "2"
PAGEQUERY
SELECT
*
*
FROM
(
SELECT
vehicleType.struct_id,
vehicleType.create_id,
vehicleType.create_name,
vehicleType.create_time,
vehicleType.update_optname,
vehicleType.update_time,
GROUP_CONCAT(vehicleType.vehicle_type) as vehicle_type,
struct.struct_name,
struct.struct_code
FROM
ST_IVT_StructRelaVehicleType vehicleType
LEFT JOIN st_ivt_structattr struct ON vehicleType.struct_id = struct.struct_id
GROUP BY vehicleType.struct_id) AS view_vehicleType
(
SELECT
any_value ( vehicleType.struct_id ) AS struct_id,
any_value ( vehicleType.create_id ) AS create_id,
any_value ( vehicleType.create_name ) AS create_name,
any_value ( vehicleType.create_time ) AS create_time,
any_value ( vehicleType.update_optname ) AS update_optname,
any_value ( struct.struct_code ) AS struct_code,
any_value ( vehicleType.update_time ) AS update_time,
any_value ( struct.struct_name ) AS struct_name,
any_value ( GROUP_CONCAT( vehicleType.vehicle_type ) ) AS vehicle_type
FROM
ST_IVT_StructRelaVehicleType vehicleType
LEFT JOIN st_ivt_structattr struct ON vehicleType.struct_id = struct.struct_id
GROUP BY
vehicleType.struct_id
) AS view_vehicleType
WHERE
1 = 1
OPTION 输入.search <> ""
(view_vehicleType.struct_code like 输入.search or
view_vehicleType.struct_name like 输入.search)
ENDOPTION
ENDSELECT
ENDPAGEQUERY
ENDIF
1 = 1
OPTION 输入.search <> ""
(view_vehicleType.struct_code like 输入.search or
view_vehicleType.struct_name like 输入.search)
ENDOPTION
ENDSELECT
ENDPAGEQUERY
ENDIF