k94314517
2024-09-12 96006558b06accde22774a816432c6fff78adb2e
Merge remote-tracking branch 'origin/master'
已修改11个文件
184 ■■■■ 文件已修改
h5/manifest.json 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_admin/src/main/java/com/doumee/api/business/WmsPushController.java 11 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/WmsPushCloudController.java 103 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/core/wms/model/request/WmsBaseRequest.java 7 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/core/wms/model/request/WmsInboundNoticeRequest.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/core/wms/model/request/WmsOrderPlatformRequest.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/core/wms/model/request/WmsOutboundNoticeRequest.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/Member.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/WmsService.java 11 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncEmpowerServiceImpl.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/wms/WmsServiceImpl.java 34 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
h5/manifest.json
@@ -92,8 +92,8 @@
                "/admin_interface" : {
                    // 这个字段名需与你配置的basePrefixUrl一致,系统识别到带有/dev-api请求的地址时,会在前面拼接上代理服务器地址
                    // "target" : "http://192.168.0.173/admin_interface", // 代理服务器域名或IP地址
                    "target" : "http://192.168.31.42:10010", // 代理服务器域名或IP地址
                    // "target" : "http://10.50.250.178:8088/gateway_interface", // 代理服务器域名或IP地址
                    // "target" : "http://192.168.31.42:10010", // 代理服务器域名或IP地址
                    "target" : "http://10.50.250.178:8088/gateway_interface", // 代理服务器域名或IP地址
                    "changeOrigin" : true, // 允许跨域 
                    "pathRewrite" : {
                        "^/admin_interface" : "" // 重写地址,如果实际接口中是不带/dev-api,需要将这个前缀置空,因为这个前缀只是为了识别用,识别完之后就没用了
server/visits/dmvisit_admin/src/main/java/com/doumee/api/business/WmsPushController.java
@@ -14,6 +14,7 @@
import com.doumee.core.model.ApiResponse;
import com.doumee.core.utils.Constants;
import com.doumee.core.wms.model.request.WmsActionNoticeRequest;
import com.doumee.core.wms.model.request.WmsBaseRequest;
import com.doumee.core.wms.model.request.WmsInboundNoticeRequest;
import com.doumee.core.wms.model.request.WmsOutboundNoticeRequest;
import com.doumee.core.wms.model.response.WmsBaseResponse;
@@ -53,7 +54,7 @@
    @PreventRepeat
    @ApiOperation("【CMS】推送入库单通知任务")
    @PostMapping("/push/inboundNotice")
    public WmsBaseResponse inboundNotice(@RequestBody List<WmsInboundNoticeRequest> param) {
    public WmsBaseResponse inboundNotice(@RequestBody WmsBaseRequest<WmsInboundNoticeRequest> param) {
        int success = Constants.ZERO;
        WmsBaseResponse result =null;
@@ -77,7 +78,7 @@
    @PreventRepeat
    @ApiOperation("【CMS】推送出库单通知任务")
    @PostMapping("/push/outboundNotice")
    public WmsBaseResponse outboundNotice(@RequestBody List<WmsOutboundNoticeRequest> param) {
    public WmsBaseResponse outboundNotice(@RequestBody WmsBaseRequest<WmsOutboundNoticeRequest> param) {
        int success = Constants.ZERO;
        WmsBaseResponse result =null;
        try {
@@ -99,7 +100,7 @@
    @PreventRepeat
    @ApiOperation("【CMS】推送取消入库单通知任务")
    @PostMapping("/push/cancelInbound")
    public WmsBaseResponse cancelInbound(@RequestBody List<WmsActionNoticeRequest> param) {
    public WmsBaseResponse cancelInbound(@RequestBody WmsBaseRequest<WmsActionNoticeRequest> param) {
        int success = Constants.ZERO;
        WmsBaseResponse result =null;
        try {
@@ -120,7 +121,7 @@
    @PreventRepeat
    @ApiOperation("【CMS】推送取消出库单通知任务")
    @PostMapping("/push/cancelOutbound")
    public WmsBaseResponse cancelOutbound(@RequestBody List<WmsActionNoticeRequest> param) {
    public WmsBaseResponse cancelOutbound(@RequestBody WmsBaseRequest<WmsActionNoticeRequest> param) {
        int success = Constants.ZERO;
        WmsBaseResponse result =null;
        try {
@@ -141,7 +142,7 @@
    @PreventRepeat
    @ApiOperation("【CMS】推送出入库作业完成通知任务")
    @PostMapping("/push/doneTask")
    public WmsBaseResponse doneTask(@RequestBody List<WmsActionNoticeRequest> param) {
    public WmsBaseResponse doneTask(@RequestBody WmsBaseRequest<WmsActionNoticeRequest> param) {
        int success = Constants.ZERO;
        WmsBaseResponse result =null;
        try {
server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/WmsPushCloudController.java
@@ -1,16 +1,20 @@
package com.doumee.cloud.admin;
import com.alibaba.fastjson.JSONObject;
import com.doumee.api.BaseController;
import com.doumee.config.annotation.LoginNoRequired;
import com.doumee.core.annotation.pr.PreventRepeat;
import com.doumee.core.exception.BusinessException;
import com.doumee.core.utils.Constants;
import com.doumee.core.wms.model.request.WmsActionNoticeRequest;
import com.doumee.core.wms.model.request.WmsBaseRequest;
import com.doumee.core.wms.model.request.WmsInboundNoticeRequest;
import com.doumee.core.wms.model.request.WmsOutboundNoticeRequest;
import com.doumee.core.wms.model.response.WmsBaseResponse;
import com.doumee.service.business.WmsService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
@@ -25,6 +29,7 @@
 */
@Api(tags = "WMS平台数据推送接口")
@RestController
@Slf4j
@RequestMapping(Constants.CLOUD_SERVICE_URL_INDEX+"/wms")
public class WmsPushCloudController extends BaseController {
@@ -34,42 +39,110 @@
    @PreventRepeat
    @ApiOperation("【CMS】推送入库单通知任务")
    @PostMapping("/push/inboundNotice")
    @LoginNoRequired
    public WmsBaseResponse inboundNotice(@RequestBody List<WmsInboundNoticeRequest> param) {
        WmsBaseResponse result = wmsService.inboundNotice(param);
    public WmsBaseResponse inboundNotice(@RequestBody WmsBaseRequest<WmsInboundNoticeRequest> param) {
        int success = Constants.ZERO;
        WmsBaseResponse result =null;
        try {
            result = wmsService.inboundNotice(param);
        }catch (BusinessException e){
            log.error("【CMS】推送入库单通知任务===失败:"+e.getMessage());
            success = Constants.ONE;
        }catch (Exception e){
            log.error("【CMS】推送入库单通知任务===失败:"+e.getMessage());
            e.printStackTrace();
            success = Constants.ONE;
        }finally {
            wmsService.saveInterfaceLog("/wms/push/inboundNotice", "推送入库单通知任务",JSONObject.toJSONString(param),
                    success, JSONObject.toJSONString(result),Constants.ONE);
        }
        return result;
    }
    @PreventRepeat
    @ApiOperation("【CMS】推送出库单通知任务")
    @PostMapping("/push/outboundNotice")
    @LoginNoRequired
    public WmsBaseResponse outboundNotice(@RequestBody List<WmsOutboundNoticeRequest> param) {
        WmsBaseResponse result = wmsService.outboundNotice(param);
    public WmsBaseResponse outboundNotice(@RequestBody WmsBaseRequest<WmsOutboundNoticeRequest> param) {
        int success = Constants.ZERO;
        WmsBaseResponse result =null;
        try {
            result = wmsService.outboundNotice(param);
        }catch (BusinessException e){
            log.error("【CMS】推送出库单通知任务===失败:"+e.getMessage());
            success = Constants.ONE;
        }catch (Exception e){
            log.error("【CMS】推送出库单通知任务===失败:"+e.getMessage());
            e.printStackTrace();
            success = Constants.ONE;
        }finally {
            wmsService.saveInterfaceLog("/wms/push/outboundNotice", "推送出库单通知任务",JSONObject.toJSONString(param),success
                    , JSONObject.toJSONString(result),Constants.ONE);
        }
        return result;
    }
    @PreventRepeat
    @ApiOperation("【CMS】推送取消入库单通知任务")
    @PostMapping("/push/cancelInbound")
    @LoginNoRequired
    public WmsBaseResponse cancelInbound(@RequestBody List<WmsActionNoticeRequest> param) {
        WmsBaseResponse result = wmsService.cancelInbound(param);
    public WmsBaseResponse cancelInbound(@RequestBody WmsBaseRequest<WmsActionNoticeRequest> param) {
        int success = Constants.ZERO;
        WmsBaseResponse result =null;
        try {
            result = wmsService.cancelInbound(param);
        }catch (BusinessException e){
            log.error("【CMS】推送取消入库单通知任务===失败:"+e.getMessage());
            success = Constants.ONE;
        }catch (Exception e){
            log.error("【CMS】推送取消入库单通知任务===失败:"+e.getMessage());
            e.printStackTrace();
            success = Constants.ONE;
        }finally {
            wmsService.saveInterfaceLog("/wms/push/cancelInbound", "推送取消入库单通知任务",JSONObject.toJSONString(param),
                    success, JSONObject.toJSONString(result),Constants.ONE);
        }
        return result;
    }
    @PreventRepeat
    @ApiOperation("【CMS】推送取消出库单通知任务")
    @PostMapping("/push/cancelOutbound")
    @LoginNoRequired
    public WmsBaseResponse cancelOutbound(@RequestBody List<WmsActionNoticeRequest> param) {
        WmsBaseResponse result = wmsService.cancelOutbound(param);
    public WmsBaseResponse cancelOutbound(@RequestBody WmsBaseRequest<WmsActionNoticeRequest> param) {
        int success = Constants.ZERO;
        WmsBaseResponse result =null;
        try {
            result = wmsService.cancelOutbound(param);
        }catch (BusinessException e){
            log.error("【CMS】推送取消出库单通知任务===失败:"+e.getMessage());
            success = Constants.ONE;
        }catch (Exception e){
            log.error("【CMS】推送取消出库单通知任务===失败:"+e.getMessage());
            e.printStackTrace();
            success = Constants.ONE;
        }finally {
            wmsService.saveInterfaceLog("/wms/push/cancelOutbound", "推送取消出库单通知任务",
                    JSONObject.toJSONString(param),  success, JSONObject.toJSONString(result),Constants.ONE);
        }
        return result;
    }
    @PreventRepeat
    @ApiOperation("【CMS】推送出入库作业完成通知任务")
    @PostMapping("/push/doneTask")
    @LoginNoRequired
    public WmsBaseResponse doneTask(@RequestBody List<WmsActionNoticeRequest> param) {
        WmsBaseResponse result = wmsService.doneTask(param);
    public WmsBaseResponse doneTask(@RequestBody WmsBaseRequest<WmsActionNoticeRequest> param) {
        int success = Constants.ZERO;
        WmsBaseResponse result =null;
        try {
            result = wmsService.doneTask(param);
        }catch (BusinessException e){
            log.error("【CMS】推送出入库作业完成通知任务===失败:"+e.getMessage());
            success = Constants.ONE;
        }catch (Exception e){
            log.error("【CMS】推送出入库作业完成通知任务===失败:"+e.getMessage());
            e.printStackTrace();
            success = Constants.ONE;
        }finally {
            wmsService.saveInterfaceLog("/wms/push/doneTask", "推送出入库作业完成通知任务",JSONObject.toJSONString(param),
                    success, JSONObject.toJSONString(result),Constants.ONE);
        }
        return result;
    }
}
server/visits/dmvisit_service/src/main/java/com/doumee/core/wms/model/request/WmsBaseRequest.java
@@ -4,12 +4,17 @@
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.List;
/**
 * @author 江蹄蹄
 * @date 2023/11/23 14:03
 */
@Data
@ApiModel("wms请求公共参数")
public class WmsBaseRequest {
public class WmsBaseRequest<T> {
    @ApiModelProperty(value = "data"  )
    private List<T> data;
}
server/visits/dmvisit_service/src/main/java/com/doumee/core/wms/model/request/WmsInboundNoticeRequest.java
@@ -12,7 +12,7 @@
 */
@Data
@ApiModel("WMS入库通知单推送请求信息")
public class WmsInboundNoticeRequest extends WmsBaseRequest {
public class WmsInboundNoticeRequest   {
    @ApiModelProperty(value = "入库通知单号" ,example = "1")
    private String ioCode;
    @ApiModelProperty(value = "车牌号" ,example = "1")
server/visits/dmvisit_service/src/main/java/com/doumee/core/wms/model/request/WmsOrderPlatformRequest.java
@@ -12,7 +12,7 @@
 */
@Data
@ApiModel("WMS出入库作业单绑定月台信息对象")
public class WmsOrderPlatformRequest extends WmsBaseRequest {
public class WmsOrderPlatformRequest  {
    @ApiModelProperty(value = "单号数据对象" )
    private List<WmsOrderPlatformInfoRequest> data;
server/visits/dmvisit_service/src/main/java/com/doumee/core/wms/model/request/WmsOutboundNoticeRequest.java
@@ -12,7 +12,7 @@
 */
@Data
@ApiModel("WMS出库通知单推送请求信息")
public class WmsOutboundNoticeRequest extends WmsBaseRequest {
public class WmsOutboundNoticeRequest  {
    @ApiModelProperty(value = "出库通知单号" ,example = "1")
    private String ioCode;
    @ApiModelProperty(value = "收货地" ,example = "1")
server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/Member.java
@@ -279,6 +279,9 @@
    @ApiModelProperty(value = "是否主管 0否 1是", example = "1")
    @TableField(exist = false)
    private Integer headStatus;
    @ApiModelProperty(value = "持卡数量")
    @TableField(exist = false)
    private int memberCardCount;
    @ApiModelProperty(value = "门禁角色名称")
    @TableField(exist = false)
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/WmsService.java
@@ -1,6 +1,7 @@
package com.doumee.service.business;
import com.doumee.core.wms.model.request.WmsActionNoticeRequest;
import com.doumee.core.wms.model.request.WmsBaseRequest;
import com.doumee.core.wms.model.request.WmsInboundNoticeRequest;
import com.doumee.core.wms.model.request.WmsOutboundNoticeRequest;
import com.doumee.core.wms.model.response.WmsBaseResponse;
@@ -27,33 +28,33 @@
     * @param list 参数
     * @return WmsBaseResponse
     */
    WmsBaseResponse inboundNotice(List<WmsInboundNoticeRequest> list);
    WmsBaseResponse inboundNotice(WmsBaseRequest<WmsInboundNoticeRequest> list);
    /**
     * 出库单批量通知
     * @param list 参数
     * @return WmsBaseResponse
     */
    WmsBaseResponse outboundNotice(List<WmsOutboundNoticeRequest> list);
    WmsBaseResponse outboundNotice(WmsBaseRequest<WmsOutboundNoticeRequest> list);
    /**
     * 取消入库单通知
     * @param list 参数
     * @return WmsBaseResponse
     */
    WmsBaseResponse cancelInbound(List<WmsActionNoticeRequest> list);
    WmsBaseResponse cancelInbound(WmsBaseRequest<WmsActionNoticeRequest> list);
    /**
     * 取消出库单通知
     * @param list 参数
     * @return WmsBaseResponse
     */
    WmsBaseResponse cancelOutbound(List<WmsActionNoticeRequest> list);
    WmsBaseResponse cancelOutbound(WmsBaseRequest<WmsActionNoticeRequest> list);
    /**
     * 出入库作业完成通知
     * @param list 参数
     * @return WmsBaseResponse
     */
    WmsBaseResponse doneTask(List<WmsActionNoticeRequest> list);
    WmsBaseResponse doneTask(WmsBaseRequest<WmsActionNoticeRequest> list);
}
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncEmpowerServiceImpl.java
@@ -437,7 +437,12 @@
                Thread t1=new Thread(new Runnable() {
                    @Override
                    public void run() {
                        try {
                        dealAllListTask(allList);
                        }catch (Exception e){
                            log.info("======================下发授权异常:"+e.getMessage());
                            e.printStackTrace();
                        }
                    }
                });
                t1.start();
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/wms/WmsServiceImpl.java
@@ -191,14 +191,14 @@
     */
    @Override
    @Transactional
    public WmsBaseResponse<WmsBaseDataResponse> inboundNotice(List<WmsInboundNoticeRequest> list) {
        if(list ==null || list.size() ==0){
    public WmsBaseResponse<WmsBaseDataResponse> inboundNotice(WmsBaseRequest<WmsInboundNoticeRequest> list) {
        if(list ==null || list.getData()==null|| list.getData().size() ==0){
            return returnFailReuslt("请求参数不正确,参数不能为空");
        }
        List<PlatformJob> jobList = new ArrayList<>();
        List<PlatformWmsDetail> details = new ArrayList<>();
        List<String> iocodeList = new ArrayList<>();
        for(WmsInboundNoticeRequest param : list){
        for(WmsInboundNoticeRequest param : list.getData()){
            if(StringUtils.isBlank(param.getIoCode()) ||
                    StringUtils.isBlank(param.getCarrierBillCode())||
                    StringUtils.isBlank(param.getPlateNumber())||
@@ -280,7 +280,7 @@
        //查询车辆是否自有车,以及jobNum表示但求作业数量(非已离园的作业数)
        Cars car = carsMapper.selectOne(new QueryWrapper<Cars>()
                .select("*,(select count(1) from platform_job b where b.plate_num='"+param.getPlateNumber()+"' and b.status in("+
                        Constants.PlatformJobStatus.LEAVED+")) as jobNum")
                        Constants.PlatformJobStatus.LEAVED.getKey()+")) as jobNum")
                .lambda()
                .eq(Cars::getIsdeleted,Constants.ZERO)
                .eq(Cars::getType,Constants.ONE)
@@ -310,7 +310,7 @@
        //查询车辆是否自有车,以及jobNum表示但求作业数量(非已离园的作业数)
        Cars car = carsMapper.selectOne(new QueryWrapper<Cars>()
                .select("*,(select count(1) from platform_job b where b.plate_num='"+param.getPlateNumber()+"' and b.status in("+
                        Constants.PlatformJobStatus.LEAVED+")) as jobNum")
                        Constants.PlatformJobStatus.LEAVED.getKey()+")) as jobNum")
                .lambda()
                .eq(Cars::getIsdeleted,Constants.ZERO)
                .eq(Cars::getType,Constants.ONE)
@@ -339,14 +339,14 @@
     * @return
     */
    @Override
    public WmsBaseResponse outboundNotice(List<WmsOutboundNoticeRequest> list) {
        if(list ==null || list.size() ==0){
    public WmsBaseResponse outboundNotice(WmsBaseRequest<WmsOutboundNoticeRequest> list) {
        if(list ==null ||list.getData()==null ||  list.getData().size() ==0){
            return returnFailReuslt("请求参数不正确,参数不能为空");
        }
        List<PlatformJob> jobList = new ArrayList<>();
        List<PlatformWmsDetail> details = new ArrayList<>();
        List<String> iocodeList = new ArrayList<>();
        for(WmsOutboundNoticeRequest param : list){
        for(WmsOutboundNoticeRequest param : list.getData()){
            if(StringUtils.isBlank(param.getIoCode()) ||
                    StringUtils.isBlank(param.getCarrierBillCode())||
                    StringUtils.isBlank(param.getPlateNumber())||
@@ -416,13 +416,11 @@
     * @return
     */
    @Override
    public WmsBaseResponse cancelInbound(List<WmsActionNoticeRequest> list) {
    public WmsBaseResponse cancelInbound(WmsBaseRequest<WmsActionNoticeRequest> list) {
        //TODO-------------------处理入库取消通知业务--------------------
        if(list ==null || list.size() ==0){
        if(list ==null||list.getData()==null || list.getData().size() ==0){
            return returnFailReuslt("请求参数不正确,参数不能为空");
        }
        return returnSuccessReuslt(null);
    }
    /**
@@ -431,12 +429,12 @@
     * @return
     */
    @Override
    public WmsBaseResponse cancelOutbound(List<WmsActionNoticeRequest> list) {
        if(list ==null || list.size() ==0){
    public WmsBaseResponse cancelOutbound(WmsBaseRequest<WmsActionNoticeRequest> list) {
        if(list ==null||list.getData()==null || list.getData().size() ==0){
            return returnFailReuslt("请求参数不正确,参数不能为空");
        }
        List<String> iocodeList = new ArrayList<>();
        for(WmsActionNoticeRequest param :list){
        for(WmsActionNoticeRequest param :list.getData()){
            iocodeList.add(param.getIoCode());
        }
        //取消全部数据状态为 【已取消】
@@ -452,12 +450,12 @@
     * @return
     */
    @Override
    public WmsBaseResponse doneTask(List<WmsActionNoticeRequest> list) {
        if(list ==null || list.size() ==0){
    public WmsBaseResponse doneTask(WmsBaseRequest<WmsActionNoticeRequest> list) {
        if(list ==null||list.getData()==null || list.getData().size() ==0){
            return returnFailReuslt("请求参数不正确,参数不能为空");
        }
        List<String> iocodeList = new ArrayList<>();
        for(WmsActionNoticeRequest param :list){
        for(WmsActionNoticeRequest param :list.getData()){
            iocodeList.add(param.getIoCode());
        }
        //取消全部数据状态为 【已完成】