jiazx0107@163.com
2023-05-30 2495e9ab75e6c45af1d6e14414711d8cc79fe2ca
出入库优化-登记2
已修改18个文件
已添加1个文件
973 ■■■■■ 文件已修改
igds-core/src/main/java/com/ld/igds/file/impl/CoreFileServiceImpl.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
igds-core/src/main/java/com/ld/igds/models/InoutSysConf.java 14 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
igds-inout/src/main/java/com/ld/igds/inout/controller/CheckController.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
igds-inout/src/main/java/com/ld/igds/inout/controller/InoutApiController.java 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
igds-inout/src/main/java/com/ld/igds/inout/controller/InoutController.java 34 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
igds-inout/src/main/java/com/ld/igds/inout/manager/InoutManager.java 70 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
igds-inout/src/main/java/com/ld/igds/inout/mapper/InoutRecordMapper.java 30 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
igds-inout/src/main/java/com/ld/igds/inout/service/InoutService.java 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
igds-inout/src/main/java/com/ld/igds/inout/service/impl/InoutServiceImpl.java 40 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
igds-inout/src/main/java/com/ld/igds/m/service/HInoutConfService.java 48 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
igds-inout/src/main/java/com/ld/igds/m/view/InoutNoticePR.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
igds-inout/src/main/java/com/ld/igds/m/view/InoutSysConf.view.xml 44 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
igds-inout/src/main/java/com/ld/igds/m/view/InoutSysConfPR.java 24 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
igds-inout/src/main/java/com/ld/igds/timer/InoutScheduled.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
igds-inout/src/main/resources/mapper/InoutRecordMapper.xml 132 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
igds-web/src/main/resources/static/admin/inout/in-register.js 87 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
igds-web/src/main/resources/static/admin/inout/in-register20220529.js 359 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
igds-web/src/main/resources/static/admin/inout/inout-common.js 42 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
igds-web/src/main/resources/templates/admin/inout/in-register.html 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
igds-core/src/main/java/com/ld/igds/file/impl/CoreFileServiceImpl.java
@@ -77,8 +77,7 @@
    public void saveInoutFiles(List<FileData> files, String companyId,
            String bizId, String bizTag) throws Exception, SQLException {
        if (files.size() == 0)
            return;
        if (null == files || files.size() == 0) return;
        for (FileData data : files) {
            // å¦‚果没有附件名称,则不保存附件信息
igds-core/src/main/java/com/ld/igds/models/InoutSysConf.java
@@ -44,13 +44,13 @@
    @PropertyDef(label = "出库流程配置", description = "使用-线隔开的流程配置")
    private String progressOut;
    @Column(name = "NOTICE_TAG_IN_", length = 1)
    @PropertyDef(label = "入库通知单标记")
    private String noticeTagIn = Constant.YN_Y;
    @Column(name = "NOTICE_TAG_OUT_", length = 1)
    @PropertyDef(label = "出库通知单标记")
    private String noticeTagOut = Constant.YN_Y;
//    @Column(name = "NOTICE_TAG_IN_", length = 1)
//    @PropertyDef(label = "入库通知单标记")
//    private String noticeTagIn = Constant.YN_Y;
//
//    @Column(name = "NOTICE_TAG_OUT_", length = 1)
//    @PropertyDef(label = "出库通知单标记")
//    private String noticeTagOut = Constant.YN_Y;
    @Column(name = "NOTICE_WX_", length = 1)
igds-inout/src/main/java/com/ld/igds/inout/controller/CheckController.java
@@ -3,9 +3,7 @@
import com.ld.igds.constant.RespCodeEnum;
import com.ld.igds.data.PageResponse;
import com.ld.igds.inout.manager.CheckManager;
import com.ld.igds.io.dto.CheckResultParam;
import com.ld.igds.io.sample.data.SampleDto;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
@@ -21,7 +19,6 @@
 * @data:2020å¹´3月22日
 *
 */
@Slf4j
@RestController
@RequestMapping("api/check")
public class CheckController {
igds-inout/src/main/java/com/ld/igds/inout/controller/InoutApiController.java
@@ -37,14 +37,12 @@
    @RequestMapping("/get-plateNum")
    public PageResponse<ApiInoutData> getPlateNum(@RequestBody ApiInoutData param) {
        if (StringUtils.isEmpty(param.getProtocol())) {
            param.setErrorMsg("当前车牌识别未配置通讯协议,无法执行");
            return new PageResponse<>(RespCodeEnum.CODE_1007, param);
        if (null == param.getIp()) {
            return new PageResponse<>(RespCodeEnum.CODE_1007.getCode(), "出入库配置中没有配置如入登记的车牌识别");
        }
        if (null == param.getIp()) {
            param.setErrorMsg("出入库配置中没有配置如入登记的车牌识别");
            return new PageResponse<>(RespCodeEnum.CODE_1007, param);
        if (StringUtils.isEmpty(param.getProtocol())) {
            return new PageResponse<>(RespCodeEnum.CODE_1007.getCode(), "当前车牌识别未配置通讯协议,无法执行");
        }
        param = inoutDeviceManager.getPlateNum(param);
@@ -57,9 +55,9 @@
    }
    /**
     * èŽ·å–è½¦ç‰Œè¯†åˆ«ä¿¡æ¯
     * èŽ·å–æ™ºæ…§å¡ä¿¡æ¯
     *
     * @param param è½¦ç‰Œè¯†åˆ«æ•°æ®ä¿¡æ¯
     * @param param èŽ·å–æ™ºæ…§å¡ä¿¡æ¯
     * @return
     */
    @ResponseBody
@@ -67,13 +65,11 @@
    public PageResponse<ApiInoutData> getIcCardNum(@RequestBody ApiInoutData param) {
        if (StringUtils.isEmpty(param.getProtocol())) {
            param.setErrorMsg("当前智慧卡未配置通讯协议,无法执行");
            return new PageResponse<>(RespCodeEnum.CODE_1007, param);
            return new PageResponse<>(RespCodeEnum.CODE_1007.getCode(), "当前智慧卡未配置通讯协议,无法执行");
        }
        if (null == param.getIp()) {
            param.setErrorMsg("出入库配置中没有配置智慧卡信息");
            return new PageResponse<>(RespCodeEnum.CODE_1007, param);
            return new PageResponse<>(RespCodeEnum.CODE_1007.getCode(), "出入库配置中没有配置智慧卡信息");
        }
        param = inoutDeviceManager.getIcCardNum(param);
igds-inout/src/main/java/com/ld/igds/inout/controller/InoutController.java
@@ -556,6 +556,14 @@
    @Transactional
    public PageResponse<InoutData> inoutNextStep(@RequestBody InoutData data) {
        try {
            IUser user = ContextUtil.getLoginUser();
            if (StringUtils.isEmpty(data.getCompanyId())) {
                data.setCompanyId(user.getCompanyId());
            }
            if (StringUtils.isEmpty(data.getDeptId())) {
                data.setDeptId(ContextUtil.subDeptId(user));
            }
            if (InoutConstant.TYPE_IN.equals(data.getType())) {
                return inoutManager.inNextStep(data);
            } else {
@@ -570,6 +578,31 @@
            return new PageResponse<>(RespCodeEnum.CODE_1111.getCode(),
                    "后台异常:" + e.getMessage());
        }
    }
    /**
     * å‡ºå…¥åº“数据保存,登记提交
     *
     * @param data
     * @return
     */
    @RequestMapping("/submit-register")
    @Transactional
    public PageResponse<InoutData> submitRegister(@RequestBody InoutData data) throws Exception {
        IUser user = ContextUtil.getLoginUser();
        if (StringUtils.isEmpty(data.getCompanyId())) {
            data.setCompanyId(user.getCompanyId());
        }
        if (StringUtils.isEmpty(data.getDeptId())) {
            data.setDeptId(ContextUtil.subDeptId(user));
        }
        //如果注册时候没有使用智慧卡,默认使用身份证号作为智慧卡号
        if (StringUtils.isEmpty(data.getIntelCard())) {
            data.setIntelCard(data.getUserId());
        }
        return inoutManager.submitRegisterInout(data);
    }
    /**
@@ -658,6 +691,7 @@
        return null;
    }
    /**
     * æ›´æ–°ç”¨æˆ·é€‰æ‹©åœ°ç£…,根据用户IP保存期选择
     *
igds-inout/src/main/java/com/ld/igds/inout/manager/InoutManager.java
@@ -234,16 +234,9 @@
    public PageResponse<InoutData> inNextStep(InoutData data) throws Exception {
        String msg;
        IUser user = ContextUtil.getLoginUser();
        if (StringUtils.isEmpty(data.getCompanyId())) {
            data.setCompanyId(user.getCompanyId());
        }
        if (StringUtils.isEmpty(data.getDeptId())) {
            data.setDeptId(ContextUtil.subDeptId(user));
        }
        String curProgress = data.getProgress();
        List<FileData> files = data.getFiles();
        if (StringUtils.isEmpty(data.getIntelCard())) {
            data.setIntelCard(data.getUserId());
        }
@@ -461,8 +454,7 @@
     *
     * @return
     */
    private String getNextProgress(String curProgress, String type,
            InoutSysConf sysConf) {
    private String getNextProgress(String curProgress, String type, InoutSysConf sysConf) {
        String nextProgress = null;
        List<String> list = null;
        if (InoutConstant.TYPE_IN.equals(type)) {
@@ -905,8 +897,7 @@
     * åˆ é™¤æ“ä½œ åˆ é™¤æ•°æ®ä¸ºè½¯åˆ é™¤ï¼Œåˆ é™¤æ•°æ®åŽéœ€è¦æ ¹æ®åˆ é™¤æƒ…况联动库存等信息
     *
     * @param data
     * @param selected
     *            æ˜¯å¦å·²ç»æŸ¥è¯¢è¿‡æ•°æ®
     * @param selected æ˜¯å¦å·²ç»æŸ¥è¯¢è¿‡æ•°æ®
     * @return
     * @throws Exception
     */
@@ -1052,6 +1043,7 @@
    /**
     * æ“ä½œé“闸设备
     *
     * @param param
     * @return
     */
@@ -1059,4 +1051,58 @@
        return new PageResponse<>(RespCodeEnum.CODE_0000.getCode(), "", null);
    }
    /**
     * å‡ºå…¥åº“注册数据提交,入库登记和出入库登记使用同一个方法
     *
     * @param data
     * @return
     * @throws Exception
     */
    public PageResponse<InoutData> submitRegisterInout(InoutData data) throws Exception {
        //首先判断流程中是否有已经存在的车辆信息未执行完成,直接从数据库中查询
        InoutParam param = new InoutParam();
        param.setCompanyId(data.getCompanyId());
        param.setPlateNum(data.getPlateNum());
        param.setIntelCard(data.getIntelCard());
        param.setType(data.getType());
        param.setStart(DateUtil.getNewByDay(null, -10));
        int num = inoutService.checkExist(param);
        if (num > 0) {
            return new PageResponse<>(RespCodeEnum.CODE_1111.getCode(),
                    "当前车牌或智慧卡有正在执行流程未结束,请联系管理员", data);
        }
        //获取系统参数配置
        InoutSysConf inoutSysConf = inoutManagerService.getCacheInoutSysConf(data.getCompanyId(), data.getDeptId());
        if (null == inoutSysConf) {
            return new PageResponse<>(RespCodeEnum.CODE_1111.getCode(),
                    "提示:当前库区未配置出入库流程信息,请联系管理员", data);
        }
        String curProgress = data.getProgress();
        //获取下一个流程状态
        String nextProgress = getNextProgress(curProgress, data.getType(), inoutSysConf);
        data.setRegisterTime(new Date());
        data.setRegisterUser(ContextUtil.getLoginUserCName());
        data.setProgress(nextProgress);
        String msg = inoutService.insertData(data);
        if (null != msg) {
            return new PageResponse<>(RespCodeEnum.CODE_1111.getCode(),
                    msg, data);
        }
        // æ‰§è¡Œé™„件信息
        fileService.saveInoutFiles(data.getFiles(), data.getCompanyId(), data.getId(), curProgress);
        return new PageResponse<>(RespCodeEnum.CODE_0000.getCode(), "执行成功", data);
    }
}
igds-inout/src/main/java/com/ld/igds/inout/mapper/InoutRecordMapper.java
@@ -97,9 +97,7 @@
     * æ›´æ–°å‡ºå…¥åº“流水实时库存
     *
     * @param param
     * @return
    int updateCuStorage(@Param("param") InoutParam param);
     * @return int updateCuStorage(@Param("param") InoutParam param);
     */
    /**
@@ -120,24 +118,6 @@
    void toComplete(@Param("param") InoutParam param);
    /**
     * èŽ·å–å…¥åº“å®Œæˆé‡
     *
     * @param param
     * @return
    CommonData getInComplete(@Param("param") NoticeParam param);
     */
    /**
     * èŽ·å–å‡ºåº“å®Œæˆé‡
     *
     * @param param
     * @return
    CommonData getOutComplete(@Param("param") NoticeParam param);
     */
    /**
     * èŽ·å–æµç¨‹æœªå®Œæˆçš„æµæ°´æ•°æ®
     *
     * @param page
@@ -154,4 +134,12 @@
     * @return CommonData.numValue1
     */
    CommonData sumRecordWeight(@Param("param") InoutParam param);
    /**
     * æ ¹æ®è½¦ç‰Œå·å’Œå¡å·æŸ¥è¯¢æ˜¯å¦æœ‰æœªå®Œæˆçš„æµç¨‹ä¿¡æ¯
     *
     * @param param
     * @return
     */
    int checkExist(@Param("param") InoutParam param);
}
igds-inout/src/main/java/com/ld/igds/inout/service/InoutService.java
@@ -56,7 +56,7 @@
     * @return è¿”回异常信息,正常返回null
     * @throws Exception
     */
    String insertData(InoutData data) throws Exception;
    String insertData(InoutData data);
    /**
     * æ›´æ–°æ•°æ®
@@ -236,4 +236,12 @@
     * @return
     */
    double sumRecordWeight(InoutParam param);
    /**
     * æ•°æ®åº“根据车牌号和智慧卡号是否已经存在
     *
     * @param param
     * @return
     */
    int checkExist(InoutParam param);
}
igds-inout/src/main/java/com/ld/igds/inout/service/impl/InoutServiceImpl.java
@@ -118,30 +118,14 @@
    @Override
    public String insertData(InoutData data) {
        try {
            data.setUpdateTime(new Date());
        if (StringUtils.isEmpty(data.getCompanyId())) {
            data.setCompanyId(ContextUtil.getCompanyId());
        }
        // èŽ·å–å½“å‰ä»“åº“çš„å®žé™…åº“å­˜
        if (StringUtils.isNotEmpty(data.getDepotId())) {
            if (null == data.getFoodYear() || null == data.getFoodType()) {
                Depot depot = commonService.getCacheDepot(data.getCompanyId(), data.getDepotId());
                if (null == data.getFoodYear()) {
                    data.setFoodYear(depot.getFoodYear());
                }
                if (null == data.getFoodType()) {
                    data.setFoodType(depot.getFoodType());
                }
            }
        }
        if (null == data.getRegisterTime()) {
            data.setRegisterTime(new Date());
            if (null == data.getDeptId()) {
                data.setDeptId(ContextUtil.subDeptId(null));
        }
        String id = this.createId(data.getRegisterTime(), data.getCompanyId());
        if (StringUtils.isEmpty(data.getId())) {
            if (InoutConstant.TYPE_IN.equals(data.getType())) {
                data.setId("R_" + id);
@@ -158,19 +142,20 @@
        if (StringUtils.isEmpty(data.getCheckId())) {
            data.setCheckId(id);
        }
        if (null == data.getDeptId()) {
            data.setDeptId(ContextUtil.subDeptId(null));
        }
        if (null == data.getUserName()) {
            data.setUserName("");
        }
        inoutMapper.insertData(data);
        // å¦‚果不是手动补录的数据,添加到缓存中
        if (!InoutConstant.RECORD_STATUS_ADD.equals(data.getRecordStatus())) {
            this.addInoutCache(data);
        } catch (Exception e) {
            log.error("------------出入库执行保存出错---{}", e);
            return "后台异常:" + e.getMessage();
        }
        return null;
    }
@@ -677,6 +662,11 @@
        return result.getNumValue1();
    }
    @Override
    public int checkExist(InoutParam param) {
        return inoutMapper.checkExist(param);
    }
    /**
     * æœªå®Œæˆæµç¨‹å­˜å…¥ç¼“å­˜
     *
igds-inout/src/main/java/com/ld/igds/m/service/HInoutConfService.java
@@ -4,9 +4,11 @@
import com.ld.igds.models.InoutConf;
import com.ld.igds.models.InoutSysConf;
import com.ld.igds.util.ContextUtil;
import org.apache.commons.lang3.StringUtils;
import org.hibernate.Session;
import org.springframework.stereotype.Component;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@@ -64,42 +66,30 @@
        return null;
    }
    public List<InoutSysConf> getSysConfData(Map<String, Object> param) {
        Map<String, Object> args = new HashMap<String, Object>();
        String hql = " from " + InoutSysConf.class.getName()
                + " where companyId=:companyId and deptId=:deptId";
        args.put("companyId", ContextUtil.getCompanyId());
        String deptId = "";
        if (null != param) {
            deptId = (String) param.get("deptId");
        }
        if (StringUtils.isEmpty(deptId)) {
            deptId = ContextUtil.subDeptId(null);
        }
        args.put("deptId", deptId);
        return this.query(hql, args);
    }
    public String saveSysConfData(InoutSysConf data) {
        Session session = this.getSessionFactory().openSession();
        try {
            if (StringUtils.isEmpty(data.getDeptId())) {
                data.setDeptId(ContextUtil.subDeptId(null));
                data.setCompanyId(ContextUtil.getCompanyId());
                session.save(data);
            } else {
                session.update(data);
            }
            session.saveOrUpdate(data);
        } finally {
            session.flush();
            session.close();
        }
        return null;
    }
    public InoutSysConf getSysConfData(String companyId, String deptId) {
        String hql = " from " + InoutSysConf.class.getName()
                + " where companyId=:companyId and deptId=:deptId";
        Map<String, Object> args = new HashMap<String, Object>();
        args.put("companyId", companyId);
        args.put("deptId", deptId);
        List<InoutSysConf> list = this.query(hql, args);
        if(null == list || list.isEmpty()) return new InoutSysConf();
        return list.get(0);
    }
}
igds-inout/src/main/java/com/ld/igds/m/view/InoutNoticePR.java
@@ -188,14 +188,14 @@
        InoutSysConf inoutSysConf = inoutManagerService.getCacheInoutSysConf(companyId, deptId);
        if(Constant.YN_Y.equals(inoutSysConf.getNoticeTagIn())){
            List<InoutNoticeIn> noticeInList = inoutManagerService.getUnComNoticeIn(companyId);
            if (noticeInList != null && noticeInList.size() > 0) {
                inoutManagerService.updateSumNoticeIn(inoutSysConf.getDeptId(), noticeInList);
                return "success";
            }
        }
        return "fail";
    }
@@ -269,13 +269,11 @@
        InoutSysConf inoutSysConf = inoutManagerService.getCacheInoutSysConf(companyId, deptId);
        if(Constant.YN_Y.equals(inoutSysConf.getNoticeTagOut())){
            List<InoutNoticeOut> noticeOutList = inoutManagerService.getUnComNoticeOut(companyId);
            if (noticeOutList != null && noticeOutList.size() > 0) {
                inoutManagerService.updateSumNoticeOut(inoutSysConf.getDeptId(), noticeOutList);
                return "success";
            }
        }
        return "fail";
    }
igds-inout/src/main/java/com/ld/igds/m/view/InoutSysConf.view.xml
@@ -8,7 +8,6 @@
      <PropertyDef name="companyId">
        <Property></Property>
        <Property name="label">组织编码</Property>
        <Property name="required">true</Property>
      </PropertyDef>
      <PropertyDef name="deptId">
        <Property></Property>
@@ -22,26 +21,6 @@
      <PropertyDef name="progressOut">
        <Property></Property>
        <Property name="label">出库流程</Property>
        <Property name="required">true</Property>
      </PropertyDef>
      <PropertyDef name="noticeTagIn">
        <Property></Property>
        <Property name="label">入库通知单启用</Property>
        <Property name="mapping">
          <Property name="mapValues">${dorado.getDataProvider(&quot;inoutSysConfPR#triggerYesOrNo&quot;).getResult()}</Property>
          <Property name="keyProperty">code</Property>
          <Property name="valueProperty">name</Property>
        </Property>
        <Property name="required">true</Property>
      </PropertyDef>
      <PropertyDef name="noticeTagOut">
        <Property></Property>
        <Property name="label">出库通知单启用</Property>
        <Property name="mapping">
          <Property name="mapValues">${dorado.getDataProvider(&quot;inoutSysConfPR#triggerYesOrNo&quot;).getResult()}</Property>
          <Property name="keyProperty">code</Property>
          <Property name="valueProperty">name</Property>
        </Property>
        <Property name="required">true</Property>
      </PropertyDef>
      <PropertyDef name="noticeWx">
@@ -81,19 +60,10 @@
    </DataType>
  </Model>
  <View layout="padding:5;regionPadding:5">
    <ClientEvent name="onReady">var deptId = &quot;${request.getParameter('deptId')}&quot;;&#xD;
&#xD;
//查询&#xD;
query = function(){&#xD;
    var data = {deptId:deptId};&#xD;
    view.get(&quot;#dsMain&quot;).set(&quot;parameter&quot;,data).flushAsync();&#xD;
};&#xD;
query();</ClientEvent>
    <Property name="packages">font-awesome,css-common</Property>
    <DataSet id="dsMain">
      <Property name="dataProvider">inoutSysConfPR#getSysConfData</Property>
      <Property name="dataType">dtMain</Property>
      <Property name="loadMode">manual</Property>
    </DataSet>
    <Container layout="regionPadding:10" layoutConstraint="top">
      <Property name="exClassName">bg-color</Property>
@@ -132,20 +102,6 @@
          <Property name="name">progressOut</Property>
          <Property name="property">progressOut</Property>
          <Property name="editorType">TextArea</Property>
          <Editor/>
        </AutoFormElement>
        <Label layoutConstraint="colSpan:3"/>
        <Control/>
        <AutoFormElement layoutConstraint="colSpan:3">
          <Property name="name">noticeTagIn</Property>
          <Property name="property">noticeTagIn</Property>
          <Editor/>
        </AutoFormElement>
        <Label layoutConstraint="colSpan:3"/>
        <Control/>
        <AutoFormElement layoutConstraint="colSpan:3">
          <Property name="name">noticeTagOut</Property>
          <Property name="property">noticeTagOut</Property>
          <Editor/>
        </AutoFormElement>
        <Label layoutConstraint="colSpan:3"/>
igds-inout/src/main/java/com/ld/igds/m/view/InoutSysConfPR.java
@@ -1,5 +1,6 @@
package com.ld.igds.m.view;
import com.bstek.bdf2.core.business.IUser;
import com.bstek.dorado.annotation.DataProvider;
import com.bstek.dorado.annotation.DataResolver;
import com.ld.igds.constant.Constant;
@@ -8,6 +9,7 @@
import com.ld.igds.m.service.InoutCommonService;
import com.ld.igds.models.DicTrigger;
import com.ld.igds.models.InoutSysConf;
import com.ld.igds.util.ContextUtil;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
@@ -15,7 +17,6 @@
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
/**
 * å‡ºå…¥åº“流程配置
@@ -68,16 +69,9 @@
     * @throws Exception
     */
    @DataProvider
    public InoutSysConf getSysConfData(Map<String, Object> param) {
        List<InoutSysConf> list = inoutConfService.getSysConfData(param);
        InoutSysConf inoutSysConf;
        if (list.isEmpty()) {
            inoutSysConf = new InoutSysConf();
            saveSysConfData(inoutSysConf);
        } else {
            inoutSysConf = list.get(0);
        }
        return inoutSysConf;
    public InoutSysConf getSysConfData() {
        IUser u = ContextUtil.getLoginUser();
        return  inoutConfService.getSysConfData(u.getCompanyId(),ContextUtil.subDeptId(u));
    }
    /**
@@ -88,6 +82,14 @@
     */
    @DataResolver
    public String saveSysConfData(InoutSysConf data) {
        if(null == data.getDeptId()){
            data.setDeptId(ContextUtil.subDeptId(null));
        }
        if(null == data.getCompanyId()){
            data.setCompanyId(ContextUtil.getCompanyId());
        }
        inoutConfService.saveSysConfData(data);
igds-inout/src/main/java/com/ld/igds/timer/InoutScheduled.java
@@ -3,7 +3,6 @@
import com.bstek.bdf2.core.model.DefaultCompany;
import com.bstek.dorado.annotation.Expose;
import com.ld.igds.common.CoreCommonService;
import com.ld.igds.constant.Constant;
import com.ld.igds.constant.DepotStatus;
import com.ld.igds.inout.InoutConstant;
import com.ld.igds.inout.dto.InoutData;
@@ -208,16 +207,12 @@
        for (InoutSysConf inoutSysConf : inoutSysConfList) {
            //  åˆ¤æ–­å…¥åº“通知单是否启用
            if (Constant.YN_Y.equals(inoutSysConf.getNoticeTagIn())) {
                //更新入库通知单完成量
                inoutCommonService.updateSumNoticeIn(inoutSysConf.getDeptId(), noticeInList);
            }
            //  åˆ¤æ–­å‡ºåº“通知单是否启用
            if (Constant.YN_Y.equals(inoutSysConf.getNoticeTagOut())) {
                //更新出库通知单完成量
                inoutCommonService.updateSumNoticeOut(inoutSysConf.getDeptId(), noticeOutList);
            }
        }
    }
igds-inout/src/main/resources/mapper/InoutRecordMapper.xml
@@ -14,37 +14,35 @@
        TYPE_ as type,
        PROGRESS_ as progress,
        RECORD_STATUS_ as recordStatus,
        CUSTOMER_NAME_ as customerName,
        INTEL_CARD_ as intelCard,
        REGISTER_TIME_ as registerTime,
        REGISTER_USER_ as registerUser,
        USER_NAME_ as userName,
        USER_CONTACT_ as userContact,
        USER_ID_ as userId,
        USER_BIRTHDAY_ as userBirthday,
        USER_SEX_ as userSex,
        USER_NATION_ as userNation,
        USER_ID_ as userId,
        USER_CONTACT_ as userContact,
        USER_ADDRESS_ as userAddress,
        CUR_STORAGE_ as curStorage,
        INTEL_CARD_ as intelCard,
        PLATE_NUM_ as plateNum,
        TRANS_TYPE_ as transType,
        SPEC_TYPE_ as specType,
        CUSTOMER_ID_ as customerId,
        CUSTOMER_NAME_ as customerName,
        FOOD_VARIETY_ as foodVariety,
        FOOD_TYPE_ as foodType,
        FOOD_LEVEL_ as foodLevel,
        FOOD_LOCATION_ID_ as foodLocationId,
        FOOD_LOCATION_ as foodLocation,
        FOOD_YEAR_ as foodYear,
        CHECK_STATUS_ as checkStatus,
        CHECK_USER_ as checkUser,
        CHECK_TIME_ as checkTime,
        SAMPLE_USER_ as sampleUser,
        SAMPLE_TIME_ as sampleTime,
        SAMPLE_TYPE_ as sampleType,
        CHECK_ID_ as checkId,
        IMPURITY_ as impurity,
        WET_ as wet,
        DE_IMPURITY_ as deImpurity,
        DE_WET_ as deWet,
        DE_HANDLE_ as deHandle,
        DE_OTHER_ as deOther,
        DE_SUM_ as deSum,
        DE_CHECK_ as deCheck,
        ADD_CHECK_ as addCheck,
        jjlx as jjlx,
        FULL_WEIGHT_ as fullWeight,
        FULL_WEIGHT_TIME_ as fullWeightTime,
        FULL_WEIGHT_USER_ as fullWeightUser,
@@ -52,16 +50,22 @@
        EMPTY_WEIGHT_TIME_ as emptyWeightTime,
        EMPTY_WEIGHT_USER_ as emptyWeightUser,
        NET_WEIGHT_ as netWeight,
        DE_HANDLE_ as deHandle,
        DE_PACKAGE_ as dePackage,
        DE_OTHER_ as deOther,
        DE_OTHER_INTO_ as deOtherInfo,
        SETTLE_WEIGHT_ as settleWeight,
        RECORD_WEIGHT_ as recordWeight,
        PRICE_ as price,
        SETTLE_MONEY_ as settleMoney,
        HANDLE_START_ as handleStart,
        HANDLE_END_ as handleEnd,
        SETTLE_ID_ as settleId,
        HANDLE_USER_ as handleUser,
        COMPLETE_TIME_ as completeTime,
        COMPLETE_USER_ as completeUser,
        REMARKS_ as remarks
        REMARKS_ as remarks,
        bzw as bzw,
        dbz as dbz,
        bzbjs as bzbjs
    </sql>
    <!-- æ ¹æ®æ¡ä»¶æŸ¥è¯¢ï¼Œæ•°æ®å¿…须是流程中的数据 -->
@@ -262,7 +266,7 @@
    </update>
    <!-- ç™»è®°æ—¶å€™æ’入当前库存的值curStorage ä¹‹åŽä¸åšæ›´æ”¹ -->
    <!-- æ–°å¢žæ•°æ® -->
    <insert id="insertData" parameterType="com.ld.igds.inout.dto.InoutData">
        insert into
        D_INOUT_RECORD(
@@ -274,37 +278,35 @@
        TYPE_,
        PROGRESS_,
        RECORD_STATUS_,
        CUSTOMER_NAME_,
        INTEL_CARD_,
        REGISTER_TIME_,
        REGISTER_USER_,
        USER_NAME_,
        USER_CONTACT_,
        USER_ID_,
        USER_BIRTHDAY_,
        USER_SEX_,
        USER_NATION_,
        USER_ID_,
        USER_CONTACT_,
        USER_ADDRESS_,
        CUR_STORAGE_,
        INTEL_CARD_,
        PLATE_NUM_,
        TRANS_TYPE_,
        SPEC_TYPE_,
        CUSTOMER_ID_,
        CUSTOMER_NAME_,
        FOOD_VARIETY_,
        FOOD_TYPE_,
        FOOD_LEVEL_,
        FOOD_LOCATION_ID_,
        FOOD_LOCATION_,
        FOOD_YEAR_,
        CHECK_STATUS_,
        CHECK_USER_,
        CHECK_TIME_,
        SAMPLE_USER_,
        SAMPLE_TIME_,
        SAMPLE_TYPE_,
        CHECK_ID_,
        IMPURITY_,
        WET_,
        DE_IMPURITY_,
        DE_WET_,
        DE_HANDLE_,
        DE_OTHER_,
        DE_SUM_,
        DE_CHECK_,
        ADD_CHECK_,
        jjlx,
        FULL_WEIGHT_,
        FULL_WEIGHT_TIME_,
        FULL_WEIGHT_USER_,
@@ -312,17 +314,23 @@
        EMPTY_WEIGHT_TIME_,
        EMPTY_WEIGHT_USER_,
        NET_WEIGHT_,
        DE_HANDLE_,
        DE_PACKAGE_,
        DE_OTHER_,
        DE_OTHER_INTO_,
        SETTLE_WEIGHT_,
        RECORD_WEIGHT_,
        PRICE_,
        SETTLE_MONEY_,
        HANDLE_START_,
        HANDLE_END_,
        SETTLE_ID_,
        HANDLE_USER_,
        COMPLETE_TIME_,
        COMPLETE_USER_,
        REMARKS_,
        SETTLE_TAG_
        bzw,
        dbz,
        bzbjs,
        UPDATE_TIME_
        )
        values
        (
@@ -334,37 +342,35 @@
        #{data.type},
        #{data.progress},
        #{data.recordStatus},
        #{data.customerName},
        #{data.intelCard},
        #{data.registerTime},
        #{data.registerUser},
        #{data.userName},
        #{data.userContact},
        #{data.userId},
        #{data.userBirthday},
        #{data.userSex},
        #{data.userNation},
        #{data.userId},
        #{data.userContact},
        #{data.userAddress},
        #{data.curStorage},
        #{data.intelCard},
        #{data.plateNum},
        #{data.transType},
        #{data.specType},
        #{data.customerId},
        #{data.customerName},
        #{data.foodVariety},
        #{data.foodType},
        #{data.foodLevel},
        #{data.foodLocationId},
        #{data.foodLocation},
        #{data.foodYear},
        #{data.checkStatus},
        #{data.checkUser},
        #{data.checkTime},
        #{data.sampleUser},
        #{data.sampleTime},
        #{data.sampleType},
        #{data.checkId},
        #{data.impurity},
        #{data.wet},
        #{data.deImpurity},
        #{data.deWet},
        #{data.deHandle},
        #{data.deOther},
        #{data.deSum},
        #{data.deCheck},
        #{data.addCheck},
        #{data.jjlx},
        #{data.fullWeight},
        #{data.fullWeightTime},
        #{data.fullWeightUser},
@@ -372,17 +378,23 @@
        #{data.emptyWeightTime},
        #{data.emptyWeightUser},
        #{data.netWeight},
        #{data.deHandle},
        #{data.dePackage},
        #{data.deOther},
        #{data.deOtherInfo},
        #{data.settleWeight},
        #{data.recordWeight},
        #{data.price},
        #{data.settleMoney},
        #{data.handleStart},
        #{data.handleEnd},
        #{data.settleId},
        #{data.handleUser},
        #{data.completeTime},
        #{data.completeUser},
        #{data.remarks},
        #{data.settleTag}
        #{data.bzw},
        #{data.dbz},
        #{data.bzbjs},
        #{data.updateTime}
        )
    </insert>
@@ -520,4 +532,20 @@
        </if>
    </select>
    <!--根据车牌和卡号验证是否有重复信息-->
    <select id="checkExist" parameterType="com.ld.igds.inout.dto.InoutParam">
        select count(1)
        from
        D_INOUT_RECORD
        WHERE COMPANY_ID_ = #{param.companyId}
        AND TYPE_ = #{param.type}
        AND (PLATE_NUM_ = #{param.plateNum} or INTEL_CARD_ = #{param.intelCard})
        AND PROGRESS_ != 'RECORD'
        AND RECORD_STATUS_ != 'ERROR'
        AND RECORD_STATUS_ != 'DEL'
        <if test="param.start != null">
            AND REGISTER_TIME_  <![CDATA[ > ]]> #{param.start}
        </if>
    </select>
</mapper>
igds-web/src/main/resources/static/admin/inout/in-register.js
@@ -78,9 +78,7 @@
            layer.close(index);
            var data = json.content;
            if (data === "not found") {
                layer.alert("没有获取到身份证信息!", {
                    offset: ['300px', '300px']
                });
                alertError("没有获取到身份证信息!");
                return;
            }
            // ä¸´æ—¶èµ‹å€¼
@@ -100,16 +98,15 @@
            }
        },
        error: function () {
            layer.alert("身份证读取失败!", {
                offset: ['300px', '300px']
            });
            layer.close(index);
            alertError("身份证读取失败!");
        }
    });
}
//使用插件读取智慧卡号
function flushICCard() {
    var index = layer.load();
    $("#intelCard").val(null);
    $.ajax({
        type: "GET",
@@ -120,23 +117,25 @@
        jsonp: "callback",
        jsonpCallback: "jsonpCallback",
        success: function (json) {
            layer.close(index);
            //console.log(json);
            var data = json.no;
            //console.log(data);
            if (data === "not found") {
                layer.alert("请重新读卡!", {offset: ['300px', '300px']});
                alertError("请重新读卡!");
            } else {
                $("#intelCard").val(data);
            }
        },
        error: function () {
            layer.alert("IC卡读取出错!", {offset: ['300px', '300px']});
            layer.close(index);
            alertError("IC卡读取出错!");
        }
    });
}
//读取车牌号
function flushPlateNum() {
function getPlateNum() {
    var index = layer.load();
    $.ajax({
        type: "POST",
@@ -146,26 +145,16 @@
        data: JSON.stringify(lprDto),
        success: function (result) {
            if (result.code != "0000") {
                layer.alert(result.msg, {
                    offset: ['300px', '300px']
                });
            } else {
                if (result.data.errorMsg) {
                    layer.alert(result.data.errorMsg, {
                        offset: ['300px', '300px']
                    });
                alertError(result.msg);
                } else {
                    $("#plateNum").val(result.data.plateNum);
                    $("#plateNum2").val(result.data.plateNum);
                }
            }
            layer.close(index);
        },
        error: function () {
            layer.close(index);
            layer.alert("车牌识别失败!", {
                offset: ['300px', '300px']
            });
            alertError("车牌识别失败!");
        }
    });
}
@@ -183,15 +172,15 @@
function submit() {
    var data = form.val("form-data");
    if (!data.userName) {
        notify("承运人信息不能为空", null);
        alertError("承运人信息不能为空");
        return;
    }
    if (!data.plateNum) {
        notify("车牌号不能为空", null);
        alertError("车牌号不能为空");
        return;
    }
    if (!data.userId) {
        notify("身份证号不能为空", null);
        alertError("身份证号不能为空");
        return;
    }
@@ -214,14 +203,12 @@
        data: JSON.stringify(snapData),
        success: function (result) {
            if (result.code != "0000") {
                layer.alert(result.msg);
                alertError(result.msg);
                submitData(data);
            } else {
                snapData = result.data;
                $("#pz-img").addClass("kccz-r-img-red");
                $("#pz-text").text("已拍照");
                submitData(data);
            }
        },
@@ -235,66 +222,28 @@
//执行保存数据
function submitData(data) {
    var index = layer.load();
    var files = [{
        fileName: snapData.fileName1
    }];
    data.files = files;
    $.ajax({
        type: "POST",
        url: "../../basic/inout/inout-next-step",
        url: "../../basic/inout/submit-register",
        dataType: "json",
        contentType: "application/json;charset=UTF-8",
        data: JSON.stringify(data),
        success: function (result) {
            layer.close(index);
            if (result.code != "0000") {
                notify(result.msg, result.data);
                notifyProgress(result.msg, result.data);
            } else {
                notify("数据提交成功", result.data);
                // é‡ç½®é¡µé¢
                notifyProgress("数据提交成功", result.data);
                resetForm();
            }
        },
        error: function () {
            layer.close(index);
            layer.alert("提交失败,请重新尝试!!");
            alertError("提交失败,请重新尝试!!");
        }
    });
}
/**
 * å¼¹å‡ºæé†’框
 * @param msg æé†’信息
 * @param data æ•°æ®ä¿¡æ¯ï¼Œå¯èƒ½ä¸ºç©º
 */
function notify(msg, data) {
    if (data) {
        //赋值
        $("#resultMsg").text(msg);
        $("#resultUserName").text(data.userName);
        $("#resultPlateNum").text(data.plateNum);
        if ("IN" == data.type) {
            $("#resultType").text("入库-" + INOUT_PROGRESS_MSG(data.progress));
        } else {
            $("#resultType").text("出库-" + INOUT_PROGRESS_MSG(data.progress));
        }
        $("#resultIntelCard").text(data.intelCard);
        layer.open({
            type: 1,
            offset: ['150px', '200px'],
            area: '450px;',
            shade: 0.8,
            id: 'dialog_notify_info',
            btn: ['确定'],
            content: $('#dialog-from-notify'),
            yes: function (index) {
                layer.closeAll();
            }
        });
    } else {
        layer.alert(msg, {offset: ['300px', '300px']});
    }
}
igds-web/src/main/resources/static/admin/inout/in-register20220529.js
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,359 @@
//当前节点 å…¥åº“登记
var layer;
var form;
var snapData;//登记照片
$(function () {
    layui.use(['layer', 'laydate', 'form', 'util'], function () {
        var util = layui.util;
        var laydate = layui.laydate;
        layer = layui.layer;
        form = layui.form;
        laydate.render({
            elem: '#userBirthday'
        });
        // å³ä¸‹è§’添加固定信息
        util.fixbar({
            bar1: true,
            css: {
                right: 10,
                bottom: 20
            },
            bgcolor: '#53adce',
            click: function (type) {
                if (type === 'bar1') {
                    layer.closeAll();
                    layer.open({
                        type: 2,
                        title: false,
                        shadeClose: true,
                        shade: 0.3,
                        closeBtn: 2,
                        offset: ['50px','50px'],
                        area: ['1000px', '640px'],
                        content: '../../basic/inout/inout-progress?type=' + type + "&t=" + Math.random()
                    });
                }
            }
        });
    });
    //显示入库流程
    showProgress();
    var rightH = $(".rkbk-left-wrap").height();
    $(".rkbk-right-wrap").height(rightH);
    $(window).resize(function () {
        var rightH = $(".rkbk-left-wrap").height();
        $(".rkbk-right-wrap").height(rightH);
    });
    // åˆå§‹åŒ–WebSocket
    initInoutWS(deptId, bizType, progress, userId);
});
window.onload = function () {
    // åŠ è½½è§†é¢‘
    initVideo(lprDto, null, null);
};
//控制流程环节显示
function showProgress() {
    if (!inoutProgress) {
        return;
    }
    if (inoutProgress.indexOf("REGISTER") == -1) {
        $("#progress-register").css("display", "none");
    }
    if (inoutProgress.indexOf("CHECK") == -1) {
        $("#progress-check").css("display", "none");
    }
    if (inoutProgress.indexOf("WEIGHT_FULL") == -1) {
        $("#progress-fullWeight").css("display", "none");
    }
    if (inoutProgress.indexOf("HANDLE") == -1) {
        $("#progress-hand").css("display", "none");
    }
    if (inoutProgress.indexOf("WEIGHT_EMPTY") == -1) {
        $("#progress-emptyWeight").css("display", "none");
    }
    if (inoutProgress.indexOf("CARD_BACK") == -1) {
        $("#progress-cardBack").css("display", "none");
    }
}
// socket信息返回處理
function socketOnMessage(packet) {
}
//使用插件读取身份证
function flushIdCard() {
    var index = layer.load();
    $.ajax({
        type: "GET",
        async: true,
        url: "http://127.0.0.1:9111/IDCARD",
        data: {},
        dataType: "jsonp",
        jsonp: "callback",
        jsonpCallback: "jsonpCallback",
        success: function (json) {
            layer.close(index);
            var data = json.content;
            if (data === "not found") {
                layer.alert("没有获取到身份证信息!", {
                    offset: ['300px', '300px']
                });
                return;
            }
            // ä¸´æ—¶èµ‹å€¼
            $("#userName").val(data.cnName);
            $("#userSex").val(data.sex);
            $("#userNation").val(data.nation);
            $("#userAddress").val(data.address);
            //$("#id_img_pers").attr("src",data.Image);
            var time = data.birthdate;
            if (time.length == 8) {
                time = time.substring(0, 4) + "-" + time.substring(4, 6) + "-" + time.substring(6);
            }
            $("#userBirthday").val(time);
            $("#userId").val(data.idNum);
            if (data.Image) {
                $("#id_img_pers").attr("src", data.Image);
            }
        },
        error: function () {
            layer.alert("身份证读取失败!", {
                offset: ['300px', '300px']
            });
            layer.close(index);
        }
    });
}
//使用插件读取智慧卡号
function flushICCard() {
    $("#intelCard").val(null);
    $.ajax({
        type: "GET",
        async: true,
        url: "http://127.0.0.1:9111/ICCARD",
        data: {},
        dataType: "jsonp",
        jsonp: "callback",
        jsonpCallback: "jsonpCallback",
        success: function (json) {
            //console.log(json);
            var data = json.no;
            //console.log(data);
            if (data === "not found") {
                layer.alert("请重新读卡!", {offset: ['300px', '300px']});
            } else {
                $("#intelCard").val(data);
            }
        },
        error: function () {
            layer.alert("IC卡读取出错!", {offset: ['300px', '300px']});
        }
    });
}
//读取车牌号
function flushPlateNum() {
    var param = JSON.stringify(lprDto);
    var index = layer.load();
    $.ajax({
        type: "POST",
        url: "../../inout/api/flush-lpr",
        dataType: "json",
        contentType: "application/json;charset=UTF-8",
        data: param,
        success: function (result) {
            if (result.code != "0000") {
                layer.alert(result.msg, {
                    offset: ['300px', '300px']
                });
            } else {
                if (result.data.errorMsg) {
                    layer.alert(result.data.errorMsg, {
                        offset: ['300px', '300px']
                    });
                } else {
                    $("#plateNum").val(result.data.plateNum);
                }
            }
            layer.close(index);
        },
        error: function () {
            layer.close(index);
            layer.alert("车牌识别失败!", {
                offset: ['300px', '300px']
            });
        }
    });
}
//重置车牌识别信息
function resetPlateNum() {
    var index = layer.load();
    var param = JSON.stringify(lprDto);
    $.ajax({
        type: "POST",
        url: "../../inout/api/reset-lpr",
        dataType: "json",
        contentType: "application/json;charset=UTF-8",
        data: param,
        success: function (result) {
            if (result.code != "0000") {
                layer.alert(result.msg, {
                    offset: ['300px', '300px']
                });
            } else {
                layer.alert("重置成功,请重新获取车牌信息", {
                    offset: ['300px', '300px']
                });
            }
            layer.close(index);
        },
        error: function () {
            layer.close(index);
            layer.alert("重置执行失败", {
                offset: ['300px', '300px']
            });
        }
    });
}
// è¡¨å•清空
function resetForm() {
    $("#form-data")[0].reset();
    form.render();
    // èº«ä»½è¯é‡ç½®
    $("#id_img_pers").attr("src", "../../static/images/rkbk-photo_03.png");
    $("#pz-img").removeClass("kccz-r-img-red");
    $("#pz-text").text("自动抓拍");
}
// å½“前完成
function submit() {
    var data = form.val("form-data");
    if (!data.userName) {
        notify("承运人信息不能为空", null);
        return;
    }
    if (!data.plateNum) {
        notify("车牌号不能为空", null);
        return;
    }
    if (!data.intelCard && !data.userId) {
        notify("智慧卡号与身份证号不能同时为空", null);
        return;
    }
    //系统抓拍
    layer.msg("系统自动抓拍记录……");
    snapData = {
        companyId: companyId,
        deptId: deptId,
        progress: progress,
        bizType: bizType,
        plateNum: data.plateNum,
        id1: (null != lprDto) ? lprDto.id : null
    };
    $.ajax({
        sync: false,
        type: "POST",
        url: "../../inout/api/snap-img",
        dataType: "json",
        contentType: "application/json;charset=UTF-8",
        data: JSON.stringify(snapData),
        success: function (result) {
            if (result.code != "0000") {
                layer.alert(result.msg);
                submitData(data);
            } else {
                snapData = result.data;
                $("#pz-img").addClass("kccz-r-img-red");
                $("#pz-text").text("已拍照");
                submitData(data);
            }
        },
        error: function () {
            layer.msg("后台调用截图失败,请重新尝试!!");
            submitData(data);
        }
    });
}
//执行保存数据
function submitData(data) {
    var index = layer.load();
    var files = [{
        fileName: snapData.fileName1
    }];
    data.files = files;
    $.ajax({
        type: "POST",
        url: "../../basic/inout/inout-next-step",
        dataType: "json",
        contentType: "application/json;charset=UTF-8",
        data: JSON.stringify(data),
        success: function (result) {
            layer.close(index);
            if (result.code != "0000") {
                notify(result.msg, result.data);
            } else {
                notify("数据提交成功", result.data);
                // é‡ç½®é¡µé¢
                resetForm();
            }
        },
        error: function () {
            layer.close(index);
            layer.alert("提交失败,请重新尝试!!");
        }
    });
}
/**
 * å¼¹å‡ºæé†’框
 * @param msg æé†’信息
 * @param data æ•°æ®ä¿¡æ¯ï¼Œå¯èƒ½ä¸ºç©º
 */
function notify(msg, data) {
    if (data) {
        //赋值
        $("#resultMsg").text(msg);
        $("#resultUserName").text(data.userName);
        $("#resultPlateNum").text(data.plateNum);
        if ("IN" == data.type) {
            $("#resultType").text("入库-" + INOUT_PROGRESS_MSG(data.progress));
        } else {
            $("#resultType").text("出库-" + INOUT_PROGRESS_MSG(data.progress));
        }
        $("#resultIntelCard").text(data.intelCard);
        layer.open({
            type: 1,
            offset: ['150px', '200px'],
            area: '450px;',
            shade: 0.8,
            id: 'dialog_notify_info',
            btn: ['确定'],
            content: $('#dialog-from-notify'),
            yes: function (index) {
                layer.closeAll();
            }
        });
    } else {
        layer.alert(msg, {offset: ['300px', '300px']});
    }
}
igds-web/src/main/resources/static/admin/inout/inout-common.js
@@ -22,3 +22,45 @@
        $("#progress-cardBack").css("display", "none");
    }
}
//错误提醒
function alertError(msg) {
    layer.alert(msg, {
        icon: 5,
        offset: ['300px', '300px']
    });
}
/**
 * å¼¹å‡ºæé†’框
 * @param msg æé†’信息
 * @param data æ•°æ®ä¿¡æ¯ï¼Œå¯èƒ½ä¸ºç©º
 */
function notifyProgress(msg, data) {
    if (data) {
        //赋值
        $("#resultMsg").text(msg);
        $("#resultUserName").text(data.userName);
        $("#resultPlateNum").text(data.plateNum);
        if ("IN" == data.type) {
            $("#resultType").text("入库-" + INOUT_PROGRESS_MSG(data.progress));
        } else {
            $("#resultType").text("出库-" + INOUT_PROGRESS_MSG(data.progress));
        }
        $("#resultIntelCard").text(data.intelCard);
        layer.open({
            type: 1,
            offset: ['150px', '200px'],
            area: '450px;',
            shade: 0.8,
            id: 'dialog_notify_info',
            btn: ['确定'],
            content: $('#dialog-from-notify'),
            yes: function (index) {
                layer.closeAll();
            }
        });
    } else {
        layer.alert(msg, {offset: ['300px', '300px']});
    }
}
igds-web/src/main/resources/templates/admin/inout/in-register.html
@@ -262,7 +262,7 @@
                                <div class="layui-form-item">
                                    <input type="button" value="读车牌"
                                        class="rkbk-r-btn fr layui-btn layui-btn-normal"
                                        onclick="flushPlateNum()" /> <label
                                        onclick="getPlateNum()" /> <label
                                        class="layui-form-label color-red">运输车牌:</label>
                                    <div class="layui-input-block">
                                        <input type="text" name="plateNum" id="plateNum"