jiazx0107@163.com
2023-07-04 785ce007ce4b7b2119a99aacc95cefe9da09e32e
优化出入库逻辑,调整节点事件
已重命名1个文件
已删除1个文件
已修改15个文件
已添加2个文件
907 ■■■■ 文件已修改
igds-core/src/main/java/com/ld/igds/inout/ApiInoutService.java 25 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
igds-core/src/main/java/com/ld/igds/inout/dto/ApiInoutData.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
igds-core/src/main/java/com/ld/igds/io/constant/ProtocolEnum.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
igds-core/src/main/java/com/ld/igds/io/impl/DefaultInoutApiServiceImpl.java 12 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
igds-databoard/src/main/java/com/ld/igds/databoard/controller/DataboardController.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
igds-inout/src/main/java/com/ld/igds/inout/controller/InoutApiController.java 22 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
igds-inout/src/main/java/com/ld/igds/inout/controller/InoutController.java 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
igds-inout/src/main/java/com/ld/igds/inout/manager/InoutCommonManager.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
igds-inout/src/main/java/com/ld/igds/inout/manager/InoutEventControlManager.java 326 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
igds-inout/src/main/java/com/ld/igds/inout/manager/InoutManager.java 147 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
igds-inout/src/main/java/com/ld/igds/inout/service/InoutService.java 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
igds-inout/src/main/java/com/ld/igds/inout/service/impl/InoutServiceImpl.java 67 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
igds-inout/src/main/java/com/ld/igds/inout/service/impl/NotifyScreenTask.java 140 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
igds-protocol-bhzn/src/main/java/com/ld/igds/protocol/bhzn/grainv1/RemoteGrainV1ServiceImpl.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
igds-protocol-bhzn/src/main/java/com/ld/igds/protocol/bhzn/inout/BhznInoutService.java 63 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
igds-protocol-bhzn/src/main/java/com/ld/igds/protocol/bhzn/inout/package-info.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
igds-web/src/main/java/com/ld/igds/IgdsApplication.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
igds-web/src/main/resources/static/admin/inout/inout-print.js 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
igds-web/src/main/resources/static/admin/inout/out-weight.js 30 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
igds-core/src/main/java/com/ld/igds/inout/ApiInoutService.java
@@ -1,6 +1,7 @@
package com.ld.igds.inout;
import com.ld.igds.inout.dto.ApiInoutData;
import com.ld.igds.inout.dto.InoutData;
/**
@@ -35,7 +36,6 @@
     */
    ApiInoutData getPlateNum(ApiInoutData param);
    /**
     * è½¦ç‰Œè¯†åˆ«åˆå§‹åŒ–
     *
@@ -46,7 +46,7 @@
    /**
     * é—¸æœºæŽ§åˆ¶-actionCode和 deviceId
     * é—¸æœºæŽ§åˆ¶
     *
     * @param param
     * @return
@@ -55,23 +55,30 @@
    /**
     * è¯­éŸ³æ’­æ”¾--远程调用语音播放
     * çº¢è·¯ç¯æŽ§åˆ¶
     *
     * @param param actionCode å’Œ msg不可为空
     * @param param
     * @return
     */
    String noticeRadio(ApiInoutData param);
    String lightControl(ApiInoutData param);
    /**
     * è¿œç¨‹è¯­éŸ³æ’­æŠ¥
     *
     * @param param
     * @return
     */
    String noticeRadio(ApiInoutData param, InoutData data);
    /**
     * LED屏幕推送信息
     *
     * @param param actionCode å’Œ msg不可为空
     * @param param
     * @return
     */
    String noticeLed(ApiInoutData param);
    String noticeLed(ApiInoutData param, InoutData data);
}
igds-core/src/main/java/com/ld/igds/inout/dto/ApiInoutData.java
@@ -86,7 +86,7 @@
    //称重信息
    private double weight = 0.0;
    //动作编码,例如开闸机-关闸机等
    //动作编码:0=关闭/红灯,1=打开/路灯
    private String actionCode;
    //动作编码,设备编号
igds-core/src/main/java/com/ld/igds/io/constant/ProtocolEnum.java
@@ -30,6 +30,7 @@
    TCP_BHZH_GRAIN_FM_V1("TCP_BHZH_GRAIN_FM_V1", "邦海智能无线主机版V1"),
    TCP_BHZH_GRAIN_V2("TCP_BHZH_GRAIN_V2", "邦海智能有线版V2"),
    TCP_BHZH_VERB_V2("TCP_BHZH_VERB_V2", "邦海控制柜智能有线版V2"),
    TCP_BHZH_INOTU_V1("TCP_BHZH_INOTU_V1", "邦海智能出入库控制器协议"),
    FZZY_OPENAPI_HTTP("FZZY_OPENAPI_HTTP", "风正致远API-HTTP协议");
    private String code;
    private String msg;
igds-core/src/main/java/com/ld/igds/io/impl/DefaultInoutApiServiceImpl.java
@@ -2,6 +2,7 @@
import com.ld.igds.inout.dto.ApiInoutData;
import com.ld.igds.inout.ApiInoutService;
import com.ld.igds.inout.dto.InoutData;
import com.ld.igds.io.constant.ProtocolEnum;
import org.springframework.stereotype.Repository;
@@ -14,6 +15,11 @@
    @Override
    public String getProtocol() {
        return ProtocolEnum.TCP_DEFAULT.getCode();
    }
    @Override
    public ApiInoutData getIcCardNum(ApiInoutData param) {
        return null;
    }
    @Override
@@ -32,17 +38,17 @@
    }
    @Override
    public String noticeRadio(ApiInoutData param) {
    public String lightControl(ApiInoutData param) {
        return null;
    }
    @Override
    public String noticeLed(ApiInoutData param) {
    public String noticeRadio(ApiInoutData param, InoutData data) {
        return null;
    }
    @Override
    public ApiInoutData getIcCardNum(ApiInoutData param) {
    public String noticeLed(ApiInoutData param, InoutData data) {
        return null;
    }
igds-databoard/src/main/java/com/ld/igds/databoard/controller/DataboardController.java
@@ -42,6 +42,7 @@
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.servlet.ModelAndView;
import javax.annotation.Resource;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@@ -305,7 +306,7 @@
        inoutCommonManager.initInoutScreen(param.getCompanyId(),param.getDeptId());
        return new PageResponse<String>(RespCodeEnum.CODE_0000.getCode(), "成功!");
        return new PageResponse<>(RespCodeEnum.CODE_0000.getCode(), "成功!");
    }
    /**
igds-inout/src/main/java/com/ld/igds/inout/controller/InoutApiController.java
@@ -5,7 +5,7 @@
import com.ld.igds.data.SnapImgDto;
import com.ld.igds.inout.dto.ApiInoutData;
import com.ld.igds.inout.dto.InoutCameraDto;
import com.ld.igds.inout.manager.InoutDeviceManager;
import com.ld.igds.inout.manager.InoutEventControlManager;
import com.ld.igds.models.InoutConf;
import org.apache.commons.lang3.StringUtils;
import org.springframework.web.bind.annotation.*;
@@ -25,7 +25,7 @@
public class InoutApiController {
    @Resource
    private InoutDeviceManager inoutDeviceManager;
    private InoutEventControlManager inoutEventControl;
    /**
     * èŽ·å–è½¦ç‰Œè¯†åˆ«ä¿¡æ¯
@@ -36,8 +36,8 @@
    @ResponseBody
    @RequestMapping("/get-plateNum")
    public PageResponse<ApiInoutData> getPlateNum(@RequestBody ApiInoutData param) {
        if (null == param.getIp()) {
        if (null == param.getIp()) {
            return new PageResponse<>(RespCodeEnum.CODE_1007.getCode(), "出入库配置中没有配置如入登记的车牌识别");
        }
@@ -45,7 +45,7 @@
            return new PageResponse<>(RespCodeEnum.CODE_1007.getCode(), "当前车牌识别未配置通讯协议,无法执行");
        }
        param = inoutDeviceManager.getPlateNum(param);
        param = inoutEventControl.getPlateNum(param);
        if (StringUtils.isEmpty(param.getErrorMsg())) {
            return new PageResponse<>(RespCodeEnum.CODE_0000, param);
@@ -72,7 +72,7 @@
            return new PageResponse<>(RespCodeEnum.CODE_1007.getCode(), "出入库配置中没有配置智慧卡信息");
        }
        param = inoutDeviceManager.getIcCardNum(param);
        param = inoutEventControl.getIcCardNum(param);
        if (StringUtils.isEmpty(param.getErrorMsg())) {
            return new PageResponse<>(RespCodeEnum.CODE_0000, param);
@@ -90,7 +90,7 @@
    public @ResponseBody
    PageResponse<InoutCameraDto> inoutVideoPlay(@RequestBody InoutCameraDto param) {
        param.setErrorMsg(null);
        param = inoutDeviceManager.inoutVideoPlay(param);
        param = inoutEventControl.inoutVideoPlay(param);
        if (StringUtils.isEmpty(param.getErrorMsg())) {
            return new PageResponse<>(RespCodeEnum.CODE_0000.getCode(), "成功", param);
@@ -108,7 +108,7 @@
    public @ResponseBody
    PageResponse<String> keepLive(@RequestBody InoutCameraDto param) {
        String msg = inoutDeviceManager.videoKeepLive(param);
        String msg = inoutEventControl.videoKeepLive(param);
        return new PageResponse<>(RespCodeEnum.CODE_0000, msg);
    }
@@ -124,7 +124,7 @@
    public @ResponseBody
    PageResponse<SnapImgDto> cutImg(@RequestBody SnapImgDto param) {
        param = inoutDeviceManager.snapImg(param);
        param = inoutEventControl.snapImg(param);
        return new PageResponse<>(RespCodeEnum.CODE_0000, param);
    }
@@ -149,7 +149,7 @@
        view.addObject("length", length);
        view.addObject("width", width);
        InoutConf inoutConf = inoutDeviceManager.getInoutConf(id);
        InoutConf inoutConf = inoutEventControl.getInoutConf(id);
        view.addObject("data", inoutConf);
        view.setViewName("admin/inout/video-hik");
@@ -167,7 +167,7 @@
    public @ResponseBody
    PageResponse<String> noticeWeightDone(@RequestBody ApiInoutData param) {
        String msg = inoutDeviceManager.noticeWeightDone(param);
        String msg = inoutEventControl.noticeWeightDone(param);
        return new PageResponse<>(RespCodeEnum.CODE_0000, msg);
    }
igds-inout/src/main/java/com/ld/igds/inout/controller/InoutController.java
@@ -93,14 +93,14 @@
        InoutConf conf = inoutCommonManager.getInoutConf(listInoutConf, sort, InoutConstant.CONF_TYPE_10, InoutConstant.PROGRESS_REGISTER, 1);
        view.addObject("lprDto", conf);
        //初始化车牌识别
        inoutManager.initLpr(conf);
        //登记初始化
        inoutManager.initInoutRegister(conf);
        view.setViewName("admin/inout/in-register");
        return view;
    }
    /**
     * æ‰¦æ ·é¡µé¢
     *
@@ -405,7 +405,7 @@
        view.addObject("lprDto", conf);
        //初始化车牌识别
        inoutManager.initLpr(conf);
        inoutManager.initInoutRegister(conf);
        view.setViewName("admin/inout/out-register");
        return view;
@@ -663,8 +663,8 @@
    @RequestMapping("/submit-handle")
    @Transactional
    public PageResponse<InoutData> submitHandle(@RequestBody InoutData data) throws Exception {
        log.debug("-------------submitHandle------------------");
        log.debug("-------------submitHandle------------------");
        return inoutManager.submitHandle(data);
    }
@@ -701,7 +701,7 @@
     */
    @RequestMapping("/submit-check")
    @Transactional
    public PageResponse<InoutCheckData> submitCheck(@RequestBody InoutCheckData data)throws Exception {
    public PageResponse<InoutCheckData> submitCheck(@RequestBody InoutCheckData data) throws Exception {
        return inoutManager.submitCheck(data);
    }
@@ -731,8 +731,6 @@
    }
    /**
     * åˆ†é¡µèŽ·å–æ‰¦æ ·æ•°æ®
     *
@@ -743,7 +741,6 @@
    public PageResponse<Page<InoutCheckData>> pageSampleData(@RequestBody InoutCheckParam param) {
        return inoutManager.pageSampleData(param);
    }
    /**
@@ -767,7 +764,6 @@
    public PageResponse<List<CheckItemData>> getCheckItem(@RequestBody InoutCheckParam param) {
        return inoutManager.getCheckItemData(param);
    }
    /**
igds-inout/src/main/java/com/ld/igds/inout/manager/InoutCommonManager.java
@@ -30,6 +30,8 @@
    private DicTriggerService dicTriggerService;
    @Resource
    private InoutService inoutService;
    @Resource
    private InoutEventControlManager inoutEventControl;
    /**
     * èŽ·å–å‡ºå…¥åº“çš„æ•´ä¸ªæµç¨‹ä¿¡æ¯
@@ -156,12 +158,11 @@
    public void initInoutScreen(String companyId, String deptId) {
        if (StringUtils.isEmpty(companyId)) return;
        if (StringUtils.isEmpty(deptId)) return;
        inoutService.notifyToScreen(companyId, deptId, null);
        inoutEventControl.initInoutScreen(companyId, deptId, null);
    }
    public List<InoutData> getListInoutCache(String deptId) {
        return inoutService.getListInoutCache(deptId);
    }
    public List<InoutData> getCompleteListInoutCache(String deptId) {
igds-inout/src/main/java/com/ld/igds/inout/manager/InoutEventControlManager.java
ÎļþÃû´Ó igds-inout/src/main/java/com/ld/igds/inout/manager/InoutDeviceManager.java ÐÞ¸Ä
@@ -5,22 +5,26 @@
import com.ld.igds.camera.data.ApiCameraData;
import com.ld.igds.camera.data.ApiCameraResp;
import com.ld.igds.camera.data.ApiSnapReq;
import com.ld.igds.constant.BizType;
import com.ld.igds.data.SnapImgDto;
import com.ld.igds.file.CoreFileService;
import com.ld.igds.inout.ApiInoutManager;
import com.ld.igds.inout.InoutConstant;
import com.ld.igds.inout.dto.ApiInoutData;
import com.ld.igds.inout.dto.InoutCameraDto;
import com.ld.igds.inout.dto.InoutData;
import com.ld.igds.inout.ApiInoutService;
import com.ld.igds.inout.InoutConstant;
import com.ld.igds.inout.dto.*;
import com.ld.igds.inout.service.InoutService;
import com.ld.igds.io.constant.ProtocolEnum;
import com.ld.igds.m.service.InoutCommonService;
import com.ld.igds.models.InoutConf;
import com.ld.igds.models.SnapSer;
import com.ld.igds.util.ContextUtil;
import com.ld.igds.util.NumberUtil;
import com.ld.igds.view.service.SnapSerService;
import com.ld.igds.websocket.WebSocketPacket;
import com.ld.igds.websocket.WebSocketServer;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.springframework.scheduling.annotation.Async;
import org.springframework.stereotype.Component;
import javax.annotation.Resource;
@@ -30,18 +34,22 @@
/**
 * @Desc: å‡ºå…¥åº“相关设备操作,业务逻辑包括摄像头操作,地磅,扦样机等所有设备
 * @Desc: å‡ºå…¥åº“过程中,针对流程相关的设备联动控制包括,地磅、扦样机、读卡器、闸机、LED对接等
 * <p>
 * æ³¨æ„ï¼›å½“前类中事件类方法均使用异步方式实现
 * @author: Andy
 * @update-time: 2022/11/24
 * @update-time: 2023/7/4 é‡æ–°ä¼˜åŒ–
 */
@Slf4j
@Component
public class InoutDeviceManager {
public class InoutEventControlManager {
    @Resource
    private SnapSerService snapSerService;
    @Resource
    private InoutCommonService inoutCommonService;
    @Resource
    private InoutService inoutService;
    @Resource
    private CoreFileService fileService;
    @Resource
@@ -50,6 +58,12 @@
    private ApiCameraManager apiCameraManager;
    /**
     * é¡µé¢èŽ·å–è½¦ç‰Œè¯†åˆ«
     *
     * @param param
     * @return
     */
    public ApiInoutData getPlateNum(ApiInoutData param) {
        //如果使用的是地磅插件获取,则需要调整设备为地磅插件信息
@@ -61,68 +75,44 @@
                return param;
            }
            ApiInoutData pluginWeight = new ApiInoutData();
            pluginWeight = param;
            pluginWeight.setIp(conf.getIp());
            pluginWeight.setPort(conf.getPort());
            pluginWeight.setProtocol(conf.getProtocol());
            return apiInoutManager.getApiService(param.getProtocol()).getPlateNum(pluginWeight);
            param.setIp(conf.getIp());
            param.setPort(conf.getPort());
            param.setProtocol(conf.getProtocol());
            return apiInoutManager.getApiService(param.getProtocol()).getPlateNum(param);
        }
        return apiInoutManager.getApiService(param.getProtocol()).getPlateNum(param);
    }
    /**
     * èŽ·å–æ™ºæ…§å¡ç»“æžœ
     *
     * @param param
     * @return
     */
    public ApiInoutData getIcCardNum(ApiInoutData param) {
        return apiInoutManager.getApiService(param.getProtocol()).getIcCardNum(param);
    }
    /**
     * èŽ·å–ç§°é‡æ’ä»¶é…ç½®ä¿¡æ¯
     *
     * @param companyId
     * @param deptId
     * @param sort
     * @param type
     * @return
     */
    public InoutConf getInoutConf(String companyId, String deptId, String sort, String type) {
        // èŽ·å–å‡ºå…¥åº“é…ç½®ä¿¡æ¯
        List<InoutConf> listInoutConf = inoutCommonService.getCacheInoutConf(companyId, deptId);
        if (null == listInoutConf) return null;
        InoutConf result = null;
        for (InoutConf conf : listInoutConf) {
            if (sort.equals(conf.getSort()) && type.equals(conf.getType())) {
                result = conf;
                break;
            }
        }
        if (null == result) return null;
        return result;
    }
    /**
     * åˆå§‹åŒ–车牌识别
     * å‡ºå…¥åº“登记初始化
     *
     * @param conf
     * @param lpr è½¦ç‰Œè¯†åˆ«é…ç½®ä¿¡æ¯
     */
    public void initLpr(InoutConf conf) {
    @Async
    public void initInoutRegister(InoutConf lpr) {
        if (null == conf) return;
        if (null == lpr) return;
        ApiInoutData lprData = new ApiInoutData(conf);
        ApiInoutData lprData = new ApiInoutData(lpr);
        apiInoutManager.getApiService(conf.getProtocol()).initLpr(lprData);
        apiInoutManager.getApiService(lpr.getProtocol()).initLpr(lprData);
    }
@@ -157,34 +147,17 @@
    public SnapImgDto snapImg(SnapImgDto param) {
        try {
            InoutConf conf;
            //登记时候抓拍
            if (InoutConstant.PROGRESS_REGISTER.equals(param.getProgress())) {
                this.noticeGatewayAddWhitePlate(param);
            }
            //点击称重完成
            if (InoutConstant.PROGRESS_WEIGHT_TAG.equals(param.getProgress())
                    || InoutConstant.PROGRESS_WEIGHT_FULL.equals(param.getProgress()) ||
                    InoutConstant.PROGRESS_WEIGHT_EMPTY.equals(param.getProgress())) {
                this.noticeGatewayWeightInfo(param);
            }
            SnapSer ser = snapSerService.getCacheByDeptId(param.getDeptId());
            if (StringUtils.isNotEmpty(param.getId1())) {
                conf = inoutCommonService.getCacheInoutConf(param.getCompanyId(), param.getDeptId(), param.getId1());
                param.setFileName1(this.snapImgByConf(conf, param, ser));
                Thread.sleep(600);
                Thread.sleep(500);
            }
            if (StringUtils.isNotEmpty(param.getId2())) {
                conf = inoutCommonService.getCacheInoutConf(param.getCompanyId(), param.getDeptId(), param.getId2());
                param.setFileName2(this.snapImgByConf(conf, param, ser));
                Thread.sleep(600);
                Thread.sleep(500);
            }
            if (StringUtils.isNotEmpty(param.getId3())) {
                conf = inoutCommonService.getCacheInoutConf(param.getCompanyId(), param.getDeptId(), param.getId3());
                param.setFileName3(this.snapImgByConf(conf, param, ser));
@@ -221,7 +194,7 @@
        apiData.setMsg("称重已完成");
//        apiInoutManager.getApiService(apiData.getProtocol()).noticeWeightDone(apiData);
        apiInoutManager.getApiService(apiData.getProtocol()).noticeRadio(apiData);
      //  apiInoutManager.getApiService(apiData.getProtocol()).noticeRadio(apiData);
    }
    /**
@@ -426,17 +399,224 @@
        return null;
    }
    /**
     * å‡ºå…¥åº“登记完成触发事件,默认为异步处理
     *
     * @param data
     */
    @Async
    public void onInoutRegister(InoutData data) {
        //DO Nothing
    }
    /**
     * æ ¹æ®å‡ºå…¥åº“信息,控制出入库控制器
     * å‡ºå…¥åº“称重完成,事件
     *
     * @param data
     * @param curProgress
     * @param nextProgress
     */
    public void controlWeight(InoutData data, String curProgress, String nextProgress) {
    @Async
    public void onInoutWeight(InoutData data, String curProgress, String nextProgress) {
        //TODO
        //1、通知称重显示屏
        //2、语音通知
        //3、开闸机
        //4、开红绿灯
    }
    /**
     * å€¼ä»“完成,事件
     *
     * @param data
     * @param curProgress
     * @param nextProgress
     */
    @Async
    public void onInoutHandle(InoutData data, String curProgress, String nextProgress) {
        //DO Nothing
    }
    /**
     * æ‰¦æ ·å®Œæˆï¼Œäº‹ä»¶
     *
     * @param data
     */
    @Async
    public void onInSimple(InoutCheckData data) {
        //DO Nothing
    }
    /**
     * è´¨æ£€å®Œæˆï¼Œäº‹ä»¶
     *
     * @param data
     * @param curProgress
     * @param nextProgress
     */
    @Async
    public void onInCheck(InoutCheckData data, String curProgress, String nextProgress) {
        //1、质检大屏显示
    }
    /**
     * æµç¨‹å®Œæˆï¼Œäº‹ä»¶
     *
     * @param data
     */
    @Async
    public void onInoutComplete(InoutData data) {
        //DO Nothing
    }
    /**
     * åˆå§‹åŒ–大屏
     *
     * @param companyId ç»„织编码
     * @param deptId    åˆ†åº“编码
     * @param progress  æµç¨‹çŽ¯èŠ‚
     */
    @Async
    public void initInoutScreen(String companyId, String deptId, String progress) {
        if (null == WebSocketServer.contextOnLineMap.get(BizType.SCREEN
                .getCode())) {
            WebSocketServer.contextOnLineMap.put(BizType.SCREEN.getCode(),
                    false);
        }
        if (null == WebSocketServer.contextOnLineMap.get(BizType.SCREEN_INOUT
                .getCode())) {
            WebSocketServer.contextOnLineMap.put(
                    BizType.SCREEN_INOUT.getCode(), false);
        }
        if (null == WebSocketServer.contextOnLineMap.get(BizType.SCREEN_CHECK
                .getCode())) {
            WebSocketServer.contextOnLineMap.put(
                    BizType.SCREEN_CHECK.getCode(), false);
        }
        if (WebSocketServer.contextOnLineMap.get(BizType.SCREEN.getCode())
                || WebSocketServer.contextOnLineMap.get(BizType.SCREEN_INOUT
                .getCode())
                || WebSocketServer.contextOnLineMap.get(BizType.SCREEN_CHECK
                .getCode())) {
            // æŽ¨é€åˆ°å¤§å±
            List<InoutData> curList = inoutService.getListInoutCache(deptId);
            List<InoutData> completeList = inoutService.getCompleteListInoutCache(deptId);
            notifyInoutScreen(companyId, deptId, curList, completeList);
        }
    }
    private void notifyInoutScreen(String companyId, String deptId, List<InoutData> curList, List<InoutData> completeList) {
        InoutSumDto dto = new InoutSumDto();
        if (null != curList) {
            for (InoutData data : curList) {
                if (InoutConstant.TYPE_IN.equals(data.getType())) {
                    dto.setInSumNum(dto.getInSumNum() + 1);
                }
                if (InoutConstant.TYPE_OUT.equals(data.getType())) {
                    dto.setOutSumNum(dto.getOutSumNum() + 1);
                }
                dto.setCompanyId(companyId);
                dto.setDeptId(deptId);
            }
        }
        if (null != completeList) {
            for (InoutData data : completeList) {
                if (InoutConstant.TYPE_IN.equals(data.getType())) {
                    dto.setInSumNum(dto.getInSumNum() + 1);
                    dto.setInComplateNum(dto.getInComplateNum() + 1);
                }
                if (InoutConstant.TYPE_OUT.equals(data.getType())) {
                    dto.setOutSumNum(dto.getOutSumNum() + 1);
                    dto.setOutComplateNum(dto.getOutComplateNum() + 1);
                }
                dto.setCompanyId(data.getCompanyId());
                dto.setDeptId(data.getDeptId());
            }
        }
        // è°ƒæ•´å°è£…
        if (dto.getInSumNum() > 0) {
            dto.setPerInComplate(dto.getInComplateNum() / Double.valueOf(dto.getInSumNum()));
            dto.setPerInComplate(NumberUtil.keepPrecision(
                    dto.getPerInComplate() * 100, 1));
        }
        if (dto.getOutSumNum() > 0) {
            dto.setPerOutComplate(dto.getOutComplateNum() / Double.valueOf(dto.getOutSumNum()));
            dto.setPerOutComplate(NumberUtil.keepPrecision(
                    dto.getPerOutComplate() * 100, 1));
        }
        if (null == dto.getCompanyId()) {
            dto.setCompanyId(ContextUtil.getDefaultCompanyId());
        }
        // æŽ¨é€ç»¼åˆç®¡ç†å¤§å±
        WebSocketPacket packet = new WebSocketPacket();
        packet.setBizId("IN_OUT_SUMMARY");
        packet.setCompanyId(dto.getCompanyId());
        packet.setDeptId(dto.getDeptId());
        packet.setBizType(BizType.SCREEN.getCode());
        packet.setData(dto);
        WebSocketServer.sendByBizTag(packet);
        // æŽ¨é€å‡ºå…¥åº“大屏
        dto.setCurList(curList);
        dto.setComplateList(completeList);
        packet.setBizType(BizType.SCREEN.getCode());
        packet.setBizTag(WebSocketPacket.BIZ_TAG_SCREEN_INOUT);
        WebSocketServer.sendByBizTag(packet);
        // æŽ¨é€åŒ–验大屏
        packet.setBizType(BizType.SCREEN.getCode());
        packet.setBizTag(WebSocketPacket.BIZ_TAG_SCREEN_CHECK);
        WebSocketServer.sendByBizTag(packet);
    }
    /**
     * èŽ·å–ç§°é‡æ’ä»¶é…ç½®ä¿¡æ¯
     *
     * @param companyId
     * @param deptId
     * @param sort
     * @param type
     * @return
     */
    public InoutConf getInoutConf(String companyId, String deptId, String sort, String type) {
        // èŽ·å–å‡ºå…¥åº“é…ç½®ä¿¡æ¯
        List<InoutConf> listInoutConf = inoutCommonService.getCacheInoutConf(companyId, deptId);
        if (null == listInoutConf) return null;
        InoutConf result = null;
        for (InoutConf conf : listInoutConf) {
            if (sort.equals(conf.getSort()) && type.equals(conf.getType())) {
                result = conf;
                break;
            }
        }
        if (null == result) return null;
        return result;
    }
}
igds-inout/src/main/java/com/ld/igds/inout/manager/InoutManager.java
@@ -3,7 +3,6 @@
import com.ld.igds.check.CheckStandardManager;
import com.ld.igds.check.dto.CheckItemData;
import com.ld.igds.check.dto.CheckUpdateResult;
import com.ld.igds.common.CoreCommonService;
import com.ld.igds.constant.RespCodeEnum;
import com.ld.igds.data.Page;
import com.ld.igds.data.PageResponse;
@@ -20,9 +19,7 @@
import com.ld.igds.models.InoutSysConf;
import com.ld.igds.util.ContextUtil;
import com.ld.igds.util.DateUtil;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.apache.commons.lang3.time.DateFormatUtils;
import org.apache.commons.lang3.time.DateUtils;
@@ -30,7 +27,6 @@
import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
import java.util.Arrays;
import java.util.Date;
import java.util.List;
@@ -49,13 +45,11 @@
    @Resource
    private CoreFileService fileService;
    @Resource
    private CoreCommonService commonService;
    @Resource
    private InoutCommonService inoutCommonService;
    @Resource
    private CheckStandardManager checkStandardManager;
    @Resource
    private InoutDeviceManager inoutDeviceManager;
    private InoutEventControlManager inoutEventControl;
    /**
     * ç›´æŽ¥ä»Žæ•°æ®åº“查询,不考虑信息状态
@@ -296,46 +290,6 @@
        return data;
    }
    public PageResponse<InoutData> submitComplete(InoutData data)
            throws Exception {
        if (StringUtils.isEmpty(data.getId())
                || StringUtils.isEmpty(data.getType())
                || StringUtils.isEmpty(data.getProgress())) {
            return new PageResponse<>(RespCodeEnum.CODE_1007.getCode(),
                    "没有获取到车辆信息。", data);
        }
        data.setUpdateTime(new Date());
        if (null == data.getCompleteTime()) {
            data.setCompleteTime(DateUtil.getNewByMinute(new Date(), 2));
        }
        if (null == data.getCompleteUser()) {
            data.setCompleteUser(ContextUtil.getLoginUserCName());
        }
        // è®¾ç½®æµç¨‹èŠ‚ç‚¹ç›´æŽ¥å®Œæˆ
        InoutParam param = new InoutParam();
        param.setCompanyId(data.getCompanyId());
        param.setId(data.getId());
        param.setType(data.getType());
        param.setDeptId(data.getDeptId());
        param.setIntelCard(data.getIntelCard());
        param.setUserId(data.getCompleteUser());
        param.setDepotId(data.getDepotId());
        param.setCompleteTime(new Date());
        param.setProgress(InoutConstant.PROGRESS_RECORD);
        String msg = inoutService.toComplete(param);
        if (null != msg) {
            return new PageResponse<>(RespCodeEnum.CODE_1111.getCode(), msg);
        }
        return new PageResponse<>(RespCodeEnum.CODE_0000.getCode(), null, data);
    }
    /**
     * å¡å›žæ”¶é€»è¾‘处理
     *
@@ -374,6 +328,51 @@
        return new PageResponse<>(RespCodeEnum.CODE_0000.getCode(), "执行成功",
                data);
    }
    public PageResponse<InoutData> submitComplete(InoutData data)
            throws Exception {
        if (StringUtils.isEmpty(data.getId())
                || StringUtils.isEmpty(data.getType())
                || StringUtils.isEmpty(data.getProgress())) {
            return new PageResponse<>(RespCodeEnum.CODE_1007.getCode(),
                    "没有获取到车辆信息。", data);
        }
        data.setUpdateTime(new Date());
        if (null == data.getCompleteTime()) {
            data.setCompleteTime(DateUtil.getNewByMinute(new Date(), 2));
        }
        if (null == data.getCompleteUser()) {
            data.setCompleteUser(ContextUtil.getLoginUserCName());
        }
        // è®¾ç½®æµç¨‹èŠ‚ç‚¹ç›´æŽ¥å®Œæˆ
        InoutParam param = new InoutParam();
        param.setCompanyId(data.getCompanyId());
        param.setId(data.getId());
        param.setType(data.getType());
        param.setDeptId(data.getDeptId());
        param.setIntelCard(data.getIntelCard());
        param.setUserId(data.getCompleteUser());
        param.setDepotId(data.getDepotId());
        param.setCompleteTime(new Date());
        param.setProgress(InoutConstant.PROGRESS_RECORD);
        String msg = inoutService.toComplete(param);
        if (null != msg) {
            return new PageResponse<>(RespCodeEnum.CODE_1111.getCode(), msg);
        }
        // æµç¨‹å®Œæˆæ”¶äº‹ä»¶
        inoutEventControl.onInoutComplete(data);
        return new PageResponse<>(RespCodeEnum.CODE_0000.getCode(), null, data);
    }
    /**
@@ -556,8 +555,13 @@
        return msg;
    }
    public void initLpr(InoutConf conf) {
        inoutDeviceManager.initLpr(conf);
    /**
     * å‡ºå…¥åº“登记初始化
     *
     * @param conf è½¦ç‰Œè¯†åˆ«é…ç½®ä¿¡æ¯
     */
    public void initInoutRegister(InoutConf conf) {
        inoutEventControl.initInoutRegister(conf);
    }
    /**
@@ -567,8 +571,7 @@
     * @return
     * @throws Exception
     */
    public PageResponse<InoutData> submitRegisterInout(InoutData data)
            throws Exception {
    public PageResponse<InoutData> submitRegisterInout(InoutData data) throws Exception {
        // é¦–先判断流程中是否有已经存在的车辆信息未执行完成,直接从数据库中查询
        InoutParam param = new InoutParam();
@@ -602,20 +605,20 @@
        String msg = inoutService.insertData(data);
        if (null != msg) {
            return new PageResponse<>(RespCodeEnum.CODE_1111.getCode(), msg,
                    data);
            return new PageResponse<>(RespCodeEnum.CODE_1111.getCode(), msg, data);
        }
        // æ‰§è¡Œé™„件信息
        fileService.saveInoutFiles(data.getFiles(), data.getCompanyId(),
                data.getId(), curProgress);
        fileService.saveInoutFiles(data.getFiles(), data.getCompanyId(), data.getId(), curProgress);
        //登记完成事件
        inoutEventControl.onInoutRegister(data);
        return new PageResponse<>(RespCodeEnum.CODE_0000.getCode(), "执行成功",
                data);
    }
    public PageResponse<InoutData> submitWeightIn(InoutData data)
            throws Exception {
    public PageResponse<InoutData> submitWeightIn(InoutData data) throws Exception {
        // èŽ·å–ç³»ç»Ÿå‚æ•°é…ç½®
        InoutSysConf inoutSysConf = inoutCommonService.getCacheInoutSysConf(
                data.getCompanyId(), data.getDeptId());
@@ -642,14 +645,12 @@
        }
        // æ‰§è¡Œé™„件信息
        fileService.saveInoutFiles(data.getFiles(), data.getCompanyId(),
                data.getId(), curProgress);
        fileService.saveInoutFiles(data.getFiles(), data.getCompanyId(), data.getId(), curProgress);
        // ç§°é‡å®Œæˆï¼Œè°ƒç”¨å‡ºå…¥åº“控制逻辑处理
        inoutDeviceManager.controlWeight(data, curProgress, nextProgress);
        // ç§°é‡å®Œæˆäº‹ä»¶
        inoutEventControl.onInoutWeight(data, curProgress, nextProgress);
        return new PageResponse<>(RespCodeEnum.CODE_0000.getCode(), "执行成功",
                data);
        return new PageResponse<>(RespCodeEnum.CODE_0000.getCode(), "执行成功", data);
    }
    public PageResponse<InoutData> submitWeightOut(InoutData data)
@@ -680,11 +681,11 @@
        fileService.saveInoutFiles(data.getFiles(), data.getCompanyId(),
                data.getId(), curProgress);
        // ç§°é‡åŽæ ¹æ®å½“前流程状态和下一个状态,通知称重控制器
        inoutDeviceManager.controlWeight(data, curProgress, nextProgress);
        return new PageResponse<>(RespCodeEnum.CODE_0000.getCode(), "执行成功",
                data);
        // ç§°é‡å®Œæˆäº‹ä»¶
        inoutEventControl.onInoutWeight(data, curProgress, nextProgress);
        return new PageResponse<>(RespCodeEnum.CODE_0000.getCode(), "执行成功", data);
    }
    public PageResponse<InoutData> submitHandle(InoutData data)
@@ -715,6 +716,9 @@
        // æ‰§è¡Œé™„件信息
        fileService.saveInoutFiles(data.getFiles(), data.getCompanyId(), data.getId(), curProgress);
        // å€¼ä»“完成触发事件
        inoutEventControl.onInoutHandle(data, curProgress, nextProgress);
        return new PageResponse<>(RespCodeEnum.CODE_0000.getCode(), "执行成功", data);
    }
@@ -784,6 +788,9 @@
        if (null != msg) {
            return new PageResponse<>(RespCodeEnum.CODE_1111.getCode(), msg);
        }
        // æ‰¦æ ·å®Œæˆè§¦å‘事件
        inoutEventControl.onInSimple(data);
        return new PageResponse<>(RespCodeEnum.CODE_0000.getCode(), "执行成功");
    }
@@ -867,6 +874,10 @@
            return new PageResponse<>(RespCodeEnum.CODE_1111.getCode(), msg);
        }
        // è´¨æ£€å®Œæˆè§¦å‘事件
        inoutEventControl.onInCheck(data,curProgress,nextProgress);
        return new PageResponse<>(RespCodeEnum.CODE_0000.getCode(), "执行成功");
    }
@@ -908,7 +919,7 @@
        try {
            List<CheckItemData> result = checkStandardManager.listCheckItem(
                     param.getCompanyId(),param.getCheckId(),
                    param.getCompanyId(), param.getCheckId(),
                    param.getFoodVariety());
            return new PageResponse<>(RespCodeEnum.CODE_0000, result);
igds-inout/src/main/java/com/ld/igds/inout/service/InoutService.java
@@ -132,16 +132,6 @@
     */
    InoutData getFromInoutCache(InoutParam param);
    /**
     * æŽ¨é€å¤§å±
     *
     * @param companyId
     * @param deptId
     * @param progress  å¯ä»¥ä¸ºç©º
     */
    void notifyToScreen(String companyId, String deptId, String progress);
    /**
     * å¿«é€Ÿå®Œæˆæµç¨‹ä¸­çš„订单
     *
@@ -149,7 +139,6 @@
     * @return
     */
    String quickComplete(InoutData data) throws Exception;
    /**
     * ç¼“存中获取完成的流水
@@ -189,13 +178,6 @@
     * @param param
     */
    void delInoutDataByLossOver(InoutParam param);
    /**
     * å°†åŒ–验结果存入缓存中
     *
     * @param data
     */
    void setCheckCache(InoutData data);
    /**
     * èŽ·å–å‡ºå…¥åº“æµæ°´ID序号
igds-inout/src/main/java/com/ld/igds/inout/service/impl/InoutServiceImpl.java
@@ -1,8 +1,6 @@
package com.ld.igds.inout.service.impl;
import com.bstek.dorado.data.entity.EntityUtils;
import com.ld.igds.common.CoreCommonService;
import com.ld.igds.constant.BizType;
import com.ld.igds.constant.Constant;
import com.ld.igds.constant.RedisConst;
import com.ld.igds.data.CommonData;
@@ -19,7 +17,6 @@
import com.ld.igds.util.ContextUtil;
import com.ld.igds.util.DateUtil;
import com.ld.igds.util.RedisUtil;
import com.ld.igds.websocket.WebSocketServer;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.apache.commons.lang3.time.DateFormatUtils;
@@ -28,9 +25,6 @@
import javax.annotation.Resource;
import java.util.*;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import java.util.concurrent.FutureTask;
@Slf4j
@Component
@@ -42,8 +36,6 @@
    private InoutCheckMapper inoutCheckMapper;
    @Resource
    private RedisUtil redisUtil;
    @Resource
    private CoreCommonService commonService;
    @Override
    public InoutData inoutProgressQuery(InoutParam param) throws Exception {
@@ -156,7 +148,7 @@
            if (EntityUtils.isEntity(data)) {
                newData = new InoutData();
                BeanUtils.copyProperties(data, newData, new String[]{"checkItems", "files"});
            }else{
            } else {
                newData = data;
            }
@@ -516,16 +508,6 @@
        inoutMapper.deleteData(param);
    }
    @Override
    public void setCheckCache(InoutData data) {
        String cacheKey = RedisConst.buildKey(data.getCompanyId(), data.getCheckId());
        //化验结果存入缓存3天
        redisUtil.set(cacheKey, data.getCheckItems(), 60 * 60 * 24 * 3);
    }
    /**
     * å‡ºå…¥åº“流程ID创建 202001030001 202001030001
     *
@@ -626,53 +608,6 @@
        String key = this.buildInoutKey(deptId, InoutConstant.KEY_INOUT_COMPLETE_LIST, data.getType(), data.getId());
        //设置缓存到第二天凌晨(计算当前时间到第二天凌晨的时间差秒数)
        redisUtil.set(key, data, DateUtil.getNowToNextDaySeconds());
    }
    /**
     * æŽ¨é€åˆ°å¤§å±ï¼Œåˆ¤æ–­åªæœ‰å½“大屏在线时候才处理当前逻辑,避免页面卡顿,调用子任务完成推送
     *
     * @param companyId ç»„织编号
     * @param deptId    åˆ†åº“编号
     * @param progress  æµè½¬èŠ‚ç‚¹
     */
    public void notifyToScreen(String companyId, String deptId, String progress) {
        // æŽ¨é€åˆ°å¤§å±
        List<InoutData> curList = this.getListInoutCache(deptId);
        List<InoutData> completeList = this.getCompleteListInoutCache(deptId);
        if (null == WebSocketServer.contextOnLineMap.get(BizType.SCREEN
                .getCode())) {
            WebSocketServer.contextOnLineMap.put(BizType.SCREEN.getCode(),
                    false);
        }
        if (null == WebSocketServer.contextOnLineMap.get(BizType.SCREEN_INOUT
                .getCode())) {
            WebSocketServer.contextOnLineMap.put(
                    BizType.SCREEN_INOUT.getCode(), false);
        }
        if (null == WebSocketServer.contextOnLineMap.get(BizType.SCREEN_CHECK
                .getCode())) {
            WebSocketServer.contextOnLineMap.put(
                    BizType.SCREEN_CHECK.getCode(), false);
        }
        if (WebSocketServer.contextOnLineMap.get(BizType.SCREEN.getCode())
                || WebSocketServer.contextOnLineMap.get(BizType.SCREEN_INOUT
                .getCode())
                || WebSocketServer.contextOnLineMap.get(BizType.SCREEN_CHECK
                .getCode())) {
            // åˆ›å»ºä¸€ä¸ªå­ä»»åŠ¡è¿›è¡ŒæŽ¨é€ä¿¡æ¯
            FutureTask<String> futureTask = new FutureTask<>(new NotifyScreenTask(curList, completeList, deptId));
            ExecutorService executorService = Executors.newCachedThreadPool();
            executorService.submit(futureTask);
            executorService.shutdown();
        }
    }
    /**
igds-inout/src/main/java/com/ld/igds/inout/service/impl/NotifyScreenTask.java
ÎļþÒÑɾ³ý
igds-protocol-bhzn/src/main/java/com/ld/igds/protocol/bhzn/grainv1/RemoteGrainV1ServiceImpl.java
@@ -26,8 +26,6 @@
    public static final String BEAN_ID = "bhznGrain.remoteGrainService";
    @Autowired
    private CoreSerService coreSerService;
    @Autowired
    private BhznGrainV1ServerEngine bhznGrainServerEngine;
    @Override
igds-protocol-bhzn/src/main/java/com/ld/igds/protocol/bhzn/inout/BhznInoutService.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,63 @@
package com.ld.igds.protocol.bhzn.inout;
import com.ld.igds.inout.ApiInoutService;
import com.ld.igds.inout.dto.ApiInoutData;
import com.ld.igds.inout.dto.InoutData;
import com.ld.igds.io.constant.ProtocolEnum;
import org.springframework.stereotype.Component;
/**
 * @Desc: é‚¦æµ·æ™ºèƒ½å‡ºå…¥åº“控制接口实现
 * @author: andy.jia
 * @update-time: 2023/7/4 15:48
 */
@Component
public class BhznInoutService implements ApiInoutService {
    @Override
    public String getProtocol() {
        return ProtocolEnum.TCP_BHZH_INOTU_V1.getCode();
    }
    @Override
    public ApiInoutData getIcCardNum(ApiInoutData param) {
        param.setErrorMsg("当前协议不支持");
        return param;
    }
    @Override
    public ApiInoutData getPlateNum(ApiInoutData param) {
        param.setErrorMsg("当前协议不支持");
        return param;
    }
    @Override
    public String initLpr(ApiInoutData param) {
        return "当前协议不支持";
    }
    @Override
    public String gateControl(ApiInoutData param) {
        //TODO
        return null;
    }
    @Override
    public String lightControl(ApiInoutData param) {
        //TODO
        return null;
    }
    @Override
    public String noticeRadio(ApiInoutData param, InoutData data) {
        //TODO
        return null;
    }
    @Override
    public String noticeLed(ApiInoutData param, InoutData data) {
        //TODO
        return null;
    }
}
igds-protocol-bhzn/src/main/java/com/ld/igds/protocol/bhzn/inout/package-info.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,6 @@
/**
 * å‡ºå…¥åº“相关对接
 */
package com.ld.igds.protocol.bhzn.inout;
igds-web/src/main/java/com/ld/igds/IgdsApplication.java
@@ -10,6 +10,7 @@
import org.springframework.boot.context.embedded.EmbeddedServletContainerCustomizer;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.scheduling.annotation.EnableAsync;
import java.util.LinkedHashSet;
import java.util.Set;
@@ -19,6 +20,7 @@
 *
 * @author Andy
 */
@EnableAsync
@SpringBootApplication(exclude = {DataSourceAutoConfiguration.class})
@ComponentScan(basePackages = {"com.ld.license","com.ld.onvif"})
public class IgdsApplication {
igds-web/src/main/resources/static/admin/inout/inout-print.js
@@ -16,12 +16,10 @@
        LODOP.PRINT_INIT("过磅单");
        //LODOP.SET_PRINT_PAGESIZE(1, 0, '90mm', "A4");
        LODOP.SET_PRINT_PAGESIZE(1, '210mm', '140mm', "A4");
        //LODOP.SET_PRINT_PAGESIZE(3, 2100, '45', "A4");
        LODOP.ADD_PRINT_HTM(0, 0, "100%", "100%", htmlStr);
        //打印多份
        // LODOP.SET_PRINT_COPIES(3);
        LODOP.PREVIEW();
        //LODOP.PRINT_DESIGN();
    }
};
@@ -30,12 +28,16 @@
    var vcode = data.id;
    var checkId = data.checkId;
    var LODOP = getLodop();
    LODOP.PRINT_INIT("测试");
    LODOP.SET_PRINT_PAGESIZE(1,'70mm','50mm' ,'');
    LODOP.ADD_PRINT_BARCODE(20,20,'67mm',80,"128A",checkId);
    LODOP.SET_PRINT_STYLEA(0,"FontSize",18);
    LODOP.SET_PRINTER_INDEX("条码打印机");//指定某虚拟打印机
    LODOP.PRINT_INIT("");
    LODOP.SET_PRINT_PAGESIZE(1,'80mm','60mm' ,'');
    LODOP.ADD_PRINT_BARCODE(30,30,'70mm',80,"128A",checkId);
    //LODOP.SET_PRINT_STYLEA(0,"ShowBarText",0);
    LODOP.SET_PRINT_STYLEA(0,"FontSize",18);
    LODOP.SET_PRINTER_INDEX("条码打印机");//指定打印机
    LODOP.PREVIEW();
};
igds-web/src/main/resources/static/admin/inout/out-weight.js
@@ -618,21 +618,21 @@
    if (InoutProgress.WEIGHT_EMPTY == recordData.progress) {
        curWeight = recordData.emptyWeight;
    }
    var param = {
        sort: $("#scaleName").val(),
        weight: curWeight,
        inoutProgress: recordData.progress,
        deptId: recordData.deptId,
        companyId: recordData.companyId,
        plateNum:recordData.plateNum
    };
    $.ajax({
        type: "POST",
        url: "../../inout/api/notice-weight-done",
        dataType: "json",
        contentType: "application/json;charset=UTF-8",
        data: JSON.stringify(param)
    });
    // var param = {
    //     sort: $("#scaleName").val(),
    //     weight: curWeight,
    //     inoutProgress: recordData.progress,
    //     deptId: recordData.deptId,
    //     companyId: recordData.companyId,
    //     plateNum:recordData.plateNum
    // };
    // $.ajax({
    //     type: "POST",
    //     url: "../../inout/api/notice-weight-done",
    //     dataType: "json",
    //     contentType: "application/json;charset=UTF-8",
    //     data: JSON.stringify(param)
    // });
}