jiazx0107@163.com
2023-08-11 be175fe739e687cd1d45da58f2cb7dd0c36d001f
调整Pressure的接口包位置到COre中,然后增加modBus-TCP协议通讯报道
已重命名2个文件
已修改25个文件
已添加10个文件
2455 ■■■■ 文件已修改
igds-api-inte/src/main/java/com/ld/igds/sh/service/ApiShServiceImpl1302.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
igds-api-inte/src/main/java/com/ld/igds/sh/service/ApiShServiceImpl1304.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
igds-api-inte/src/main/java/com/ld/igds/sh/service/ApiShServiceImpl1306.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
igds-api-inte/src/main/java/com/ld/igds/sh/service/ApiShServiceImpl1308.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
igds-core/src/main/java/com/ld/igds/inout/dto/InoutParam.java 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
igds-core/src/main/java/com/ld/igds/io/RemotePressureService.java 补丁 | 查看 | 原始文档 | blame | 历史
igds-core/src/main/java/com/ld/igds/io/impl/DefaultRemotePressureImpl.java 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
igds-core/src/main/java/com/ld/igds/models/InoutRecord.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
igds-doc/sql/update-v35-to-v40.sql 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
igds-inout/src/main/java/com/ld/igds/inout/controller/InoutController.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
igds-inout/src/main/java/com/ld/igds/inout/manager/InoutEventControlManager.java 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
igds-inout/src/main/java/com/ld/igds/inout/manager/InoutManager.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
igds-inout/src/main/java/com/ld/igds/inout/manager/InoutReportManager.java 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
igds-inout/src/main/java/com/ld/igds/inout/service/HInoutSettleService.java 248 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
igds-inout/src/main/java/com/ld/igds/inout/service/JInoutReportService.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
igds-inout/src/main/java/com/ld/igds/inout/service/impl/InoutServiceImpl.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
igds-inout/src/main/java/com/ld/igds/inout/view/InoutDataPR.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
igds-inout/src/main/java/com/ld/igds/inout/view/InoutSettle.view.xml 346 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
igds-inout/src/main/java/com/ld/igds/inout/view/InoutSettle1.js 34 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
igds-inout/src/main/java/com/ld/igds/inout/view/InoutSettle1.view.xml 1147 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
igds-inout/src/main/java/com/ld/igds/inout/view/InoutSettlePR.java 106 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
igds-inout/src/main/java/com/ld/igds/m/view/AppointPR.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
igds-inout/src/main/java/com/ld/igds/models/InoutSettle.java 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
igds-inout/src/main/java/models/inout.model.xml 119 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
igds-manager/src/main/java/com/ld/igds/oa/view/DocumentPR.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
igds-parent-pom/pom.xml 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
igds-protocol-bhzn/src/main/java/com/ld/igds/protocol/bhzn/inout/BHZNWeightServiceImpl.java 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
igds-protocol-modbus/pom.xml 113 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
igds-protocol-modbus/src/main/java/com/ld/igds/protocol/modbus/command/RemoteControlServiceImpl.java 58 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
igds-protocol-modbus/src/main/java/com/ld/igds/protocol/modbus/command/RemoteEsServiceImpl.java 31 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
igds-protocol-modbus/src/main/java/com/ld/igds/protocol/modbus/command/RemoteGasServiceImpl.java 41 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
igds-protocol-modbus/src/main/java/com/ld/igds/protocol/modbus/command/RemotePestServiceImpl.java 42 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
igds-protocol-modbus/src/main/java/com/ld/igds/protocol/modbus/command/RemotePressureServiceImpl.java 31 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
igds-protocol-modbus/src/main/java/com/ld/igds/protocol/package-info.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
igds-protocol-modbus/src/main/resources/lib/modbus4j-3.1.0.jar 补丁 | 查看 | 原始文档 | blame | 历史
igds-web/pom.xml 5 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pom.xml 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
igds-api-inte/src/main/java/com/ld/igds/sh/service/ApiShServiceImpl1302.java
@@ -127,7 +127,7 @@
                dto.setJssj(DateFormatUtils.format((inoutSettle.getPayTime() == null?new Date():inoutSettle.getPayTime()),"yyyy-MM-dd HH:mm:ss"));
                dto.setJsjz(inoutSettle.getSettleWeight() + "");
                dto.setJsdj(inoutSettle.getPayPrice() + "");
                dto.setJsje(inoutSettle.getPaySum() + "");
                dto.setJsje(inoutSettle.getPayMoney() + "");
            }else {
                dto.setJssj(DateFormatUtils.format(new Date(),"yyyy-MM-dd HH:mm:ss"));
                dto.setJsjz("0.0");
igds-api-inte/src/main/java/com/ld/igds/sh/service/ApiShServiceImpl1304.java
@@ -97,7 +97,7 @@
            }
            dto.setJssl(String.valueOf(settle.getSettleWeight()));
            dto.setJsdj(String.valueOf(settle.getPayPrice()));
            dto.setJsje(String.valueOf(settle.getPaySum()));
            dto.setJsje(String.valueOf(settle.getPayMoney()));
            dto.setJssj(DateFormatUtils.format(settle.getPayTime()==null?new Date():settle.getPayTime(),"yyyy-MM-dd HH:mm:ss"));
            dto.setJsfs(StringUtils.isEmpty(settle.getPayType())?"0":settle.getPayType());
           // dto.setSkr(StringUtils.isEmpty(settle.getCustomerName())?"0":settle.getCustomerName()); TODO 
igds-api-inte/src/main/java/com/ld/igds/sh/service/ApiShServiceImpl1306.java
@@ -130,7 +130,7 @@
                dto.setShjzsj(DateFormatUtils.format(inoutSettle.getPayTime(),"yyyy-MM-dd HH:mm:ss"));
                dto.setJzqj(DateFormatUtils.format(inoutSettle.getPayTime(),"yyyy-MM-dd"));
                dto.setDj(inoutSettle.getPayPrice() + "");
                dto.setJe(inoutSettle.getPaySum() + "");
                dto.setJe(inoutSettle.getPayMoney() + "");
            }
            dto.setDjlx("0");
            dto.setLrfs("0");
igds-api-inte/src/main/java/com/ld/igds/sh/service/ApiShServiceImpl1308.java
@@ -88,7 +88,7 @@
            }
            dto.setJssl(String.valueOf(settle.getSettleWeight()));
            dto.setJsdj(settle.getPayPrice() + "");
            dto.setJsje(settle.getPaySum() + "");
            dto.setJsje(settle.getPayMoney() + "");
            if(null == settle.getPayTime()){
                settle.setPayTime(new Date());
            }
@@ -112,7 +112,7 @@
            dto.setZdsj(DateFormatUtils.format(settle.getPayTime(),"yyyy-MM-dd HH:mm:ss"));
            dto.setJsfsmc(StringUtils.isEmpty(settle.getPayType())?"0":settle.getPayType());
            dto.setSjjssl(settle.getSettleWeight() + "");
            dto.setSjjsje(settle.getPaySum() + "");
            dto.setSjjsje(settle.getPayMoney() + "");
            dto.setHjsl(settle.getSettleWeight() + "");
            dto.setSkfsbh(StringUtils.isEmpty(settle.getPayType())?"0":settle.getPayType());
igds-core/src/main/java/com/ld/igds/inout/dto/InoutParam.java
@@ -77,11 +77,11 @@
    private Double settleWeight;
    private Double recordWeight;
    //是否结算
    private String settleTag;
    private Double price;
    private String settleBizType;
    private Double settleMoney;
igds-core/src/main/java/com/ld/igds/io/RemotePressureService.java
igds-core/src/main/java/com/ld/igds/io/impl/DefaultRemotePressureImpl.java
ÎļþÃû´Ó igds-n2/src/main/java/com/ld/igds/io/DefaultRemotePressureImpl.java ÐÞ¸Ä
@@ -1,11 +1,11 @@
package com.ld.igds.io;
package com.ld.igds.io.impl;
import org.springframework.stereotype.Repository;
import com.ld.igds.io.RemotePressureService;
import com.ld.igds.io.constant.OrderRespEnum;
import com.ld.igds.io.constant.ProtocolEnum;
import com.ld.igds.io.request.BaseRequest;
import com.ld.igds.io.response.BaseResponse;
import org.springframework.stereotype.Repository;
@Repository
public class DefaultRemotePressureImpl implements RemotePressureService {
igds-core/src/main/java/com/ld/igds/models/InoutRecord.java
@@ -230,11 +230,11 @@
     * -----------结算信息-----------------------
     **/
    @Column(name = "PRICE_")
    @PropertyDef(label = "单价", description = "单位:元/公斤")
    @PropertyDef(label = "单价", description = "单位:元/公斤,实际结算价格以结算单中单价为准")
    private Double price = 0.0;
    @Column(name = "SETTLE_MONEY_")
    @PropertyDef(label = "结算金额", description = "单位:元")
    @PropertyDef(label = "结算金额", description = "单位:元,实际结算以计算单为准")
    private Double settleMoney = 0.00;
    @Column(name = "SETTLE_ID_", length = 50)
igds-doc/sql/update-v35-to-v40.sql
@@ -48,6 +48,11 @@
-- è°ƒæ•´å‡ºå…¥åº“数据状态
UPDATE D_INOUT_RECORD SET RECORD_STATUS_ ='DEL' WHERE RECORD_STATUS_='ERROR';
-- è°ƒæ•´ç»“算字段
ALTER TABLE `d_inout_settle`
CHANGE COLUMN `PAY_SUM_` `PAY_MONEY_`  double NULL DEFAULT NULL AFTER `PAY_PRICE_`;
-- æ›´æ–°åŒ–验项
UPDATE D_DIC_CHECK_ITEM SET CODE_ = '020101' WHERE CODE_ ='C01';
UPDATE D_DIC_CHECK_ITEM SET CODE_ = '01010301' WHERE CODE_ ='C02';
igds-inout/src/main/java/com/ld/igds/inout/controller/InoutController.java
@@ -33,8 +33,6 @@
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import java.lang.reflect.Array;
import java.util.Arrays;
import java.util.Date;
import java.util.List;
igds-inout/src/main/java/com/ld/igds/inout/manager/InoutEventControlManager.java
@@ -6,7 +6,6 @@
import com.ld.igds.camera.data.ApiCameraResp;
import com.ld.igds.camera.data.ApiSnapReq;
import com.ld.igds.constant.BizType;
import com.ld.igds.constant.DeviceType;
import com.ld.igds.data.SnapImgDto;
import com.ld.igds.file.CoreFileService;
import com.ld.igds.inout.ApiInoutManager;
@@ -30,7 +29,6 @@
import org.springframework.stereotype.Component;
import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
@@ -371,26 +369,6 @@
            return null;
        }
        return inoutCommonService.getCacheInoutConf(ContextUtil.getCompanyId(), ContextUtil.subDeptId(null), id);
    }
    /**
     * @Desc: èŽ·å–ç§°é‡ç½‘å…³è®¾å¤‡
     * @author: Andy
     * @update-time: 2022/11/26
     */
    public List<InoutConf> getWeightGateway(String companyId, String deptId) {
        List<InoutConf> list = inoutCommonService.getCacheInoutConf(companyId, deptId);
        if (null == list || list.isEmpty()) return null;
        List<InoutConf> result = new ArrayList<>();
        for (InoutConf conf : list) {
            if (InoutConstant.CONF_TYPE_70.equals(conf.getType())) {
                result.add(conf);
            }
        }
        return result;
    }
    /**
igds-inout/src/main/java/com/ld/igds/inout/manager/InoutManager.java
@@ -20,7 +20,6 @@
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;
@@ -37,7 +36,6 @@
 *
 * @author
 */
@Slf4j
@Component
public class InoutManager {
igds-inout/src/main/java/com/ld/igds/inout/manager/InoutReportManager.java
@@ -399,8 +399,8 @@
                (dept == null ? "入库化验单" : dept.getName() + "入库化验单"));
        // æ›¿æ¢åŸºç¡€æ•°æ®
        String time = DateFormatUtils.format(data.getRegisterTime(),
                "yyyy-MM-dd");
//        String time = DateFormatUtils.format(data.getRegisterTime(),
//                "yyyy-MM-dd");
        String checkTime = data.getCheckTime() == null ? "-" : DateFormatUtils.format(data.getCheckTime(), "yyyy-MM-dd HH:mm:ss");
        String sampleTime = data.getSampleTime() == null ? "-" : DateFormatUtils.format(data.getSampleTime(), "yyyy-MM-dd HH:mm:ss");
        String reportTime = DateFormatUtils.format(new Date(), "yyyy-MM-dd HH:mm:ss");
@@ -610,12 +610,12 @@
        }
//        htmlStr = htmlStr.replace("driverName", settle.getUserName() + "");
//        htmlStr = htmlStr.replace("otherSum", settle.getOtherSum() + "");
        htmlStr = htmlStr.replace("paySum", settle.getPaySum() + "");
        htmlStr = htmlStr.replace("paySum", settle.getPayMoney() + "");
        htmlStr = htmlStr.replace("remark", settle.getRemarks() == null ? ""
                : settle.getRemarks());
        htmlStr = htmlStr.replace("moneyName",
                MoneyUtil.formatToCN(new BigDecimal(settle.getPaySum())));
                MoneyUtil.formatToCN(new BigDecimal(settle.getPayMoney())));
        return htmlStr;
    }
igds-inout/src/main/java/com/ld/igds/inout/service/HInoutSettleService.java
@@ -23,127 +23,167 @@
@Component
public class HInoutSettleService extends HibernateDao {
    public void pageIoutRecord(Page<InoutRecord> page, InoutParam param) throws Exception {
        String hql = " from " + InoutRecord.class.getName()
                + " where companyId =:companyId and progress =:progress";
        Map<String, Object> args = new HashMap<String, Object>();
        args.put("companyId", ContextUtil.getCompanyId());
        args.put("progress", InoutConstant.PROGRESS_RECORD);
        if (StringUtils.isNotEmpty(param.getType())) {
            hql += " and type =:type";
            args.put("type", param.getType());
        }
    public void pageIoutRecord(Page<InoutRecord> page, InoutParam param) throws Exception {
        String hql = " from " + InoutRecord.class.getName()
                + " where companyId =:companyId and progress =:progress";
        Map<String, Object> args = new HashMap<String, Object>();
        if (StringUtils.isNotEmpty(param.getId())) {
            hql += " and id like:id";
            args.put("id", "%" + param.getId() + "%");
        }
        args.put("companyId", ContextUtil.getCompanyId());
        args.put("progress", InoutConstant.PROGRESS_RECORD);
        if (StringUtils.isNotEmpty(param.getPlateNum())) {
            hql += " and plateNum like:plateNum";
            args.put("plateNum", "%" + param.getPlateNum() + "%");
        }
        if (StringUtils.isNotEmpty(param.getType())) {
            hql += " and type =:type";
            args.put("type", param.getType());
        }
        if (StringUtils.isNotEmpty(param.getCustomerId())) {
            hql += " and customerId =:customerId";
            args.put("customerId", param.getCustomerId());
        }
        if (StringUtils.isNotEmpty(param.getId())) {
            hql += " and id like:id";
            args.put("id", "%" + param.getId() + "%");
        }
        if (StringUtils.isNotEmpty(param.getDepotId())) {
            hql += " and depotId =:depotId";
            args.put("depotId", param.getDepotId());
        }
        if (StringUtils.isNotEmpty(param.getPlateNum())) {
            hql += " and plateNum like:plateNum";
            args.put("plateNum", "%" + param.getPlateNum() + "%");
        }
        if (StringUtils.isNotEmpty(param.getFoodVariety())) {
            hql += " and foodVariety =:foodVariety";
            args.put("foodVariety", param.getFoodVariety());
        }
        if (StringUtils.isNotEmpty(param.getCustomerId())) {
            hql += " and customerId =:customerId";
            args.put("customerId", param.getCustomerId());
        }
        if (StringUtils.isNotEmpty(param.getSettleTag())) {
            hql += " and settleTag =:settleTag";
            args.put("settleTag", param.getSettleTag());
        }
        if (StringUtils.isNotEmpty(param.getDepotId())) {
            hql += " and depotId =:depotId";
            args.put("depotId", param.getDepotId());
        }
        if (null != param.getStart()) {
            hql += " and completeTime >=:start";
            args.put("start", DateUtil.getCurZero(param.getStart()));
        }
        if (StringUtils.isNotEmpty(param.getFoodVariety())) {
            hql += " and foodVariety =:foodVariety";
            args.put("foodVariety", param.getFoodVariety());
        }
        if (null != param.getEnd()) {
            hql += " and completeTime <=:end";
            args.put("end", DateUtil.getNextZero(param.getEnd()));
        }
        hql += " and RECORD_STATUS_ <> 'ERROR' and RECORD_STATUS_ <> 'DEL'";
        if (null != param.getStart()) {
            hql += " and completeTime >=:start";
            args.put("start", DateUtil.getCurZero(param.getStart()));
        }
        String countHql = " select count(*) " + hql;
        hql += " order by id desc ";
        if (null != param.getEnd()) {
            hql += " and completeTime <=:end";
            args.put("end", DateUtil.getNextZero(param.getEnd()));
        }
        this.pagingQuery(page, hql, countHql, args);
    }
        hql += " and RECORD_STATUS_ <> 'ERROR' and RECORD_STATUS_ <> 'DEL'";
    public InoutSettle getSettleById(String companyId, String id) {
        String hql = " from " + InoutSettle.class.getName()
                + " where companyId=:companyId";
        String countHql = " select count(*) " + hql;
        Map<String, Object> args = new HashMap<String, Object>();
        if (StringUtils.isEmpty(companyId)) {
            companyId = ContextUtil.getCompanyId();
        }
        args.put("companyId", ContextUtil.getCompanyId());
        if (StringUtils.isNotEmpty(id)) {
            hql += " and id=:id";
            args.put("id", id);
        }
        hql += " order by id desc ";
        hql += " order by payTime desc";
        List<InoutSettle> list = this.query(hql, args);
        if (list != null && list.size() > 0) {
            return list.get(0);
        }
        return null;
    }
        this.pagingQuery(page, hql, countHql, args);
    }
    public String saveOrUpdateData(InoutSettle data) {
        Session session = this.getSessionFactory().openSession();
        try {
            if(null == data.getPayTime()){
                data.setPayTime(new Date());
            }
            if (null == data.getCompanyId()) {
                data.setCompanyId(ContextUtil.getCompanyId());
                session.save(data);
            } else {
                session.update(data);
            }
        } finally {
            session.flush();
            session.close();
        }
        return null;
    }
    public InoutSettle getSettleById(String companyId, String id) {
        String hql = " from " + InoutSettle.class.getName()
                + " where companyId=:companyId";
    public void updateInoutRecordPay(String id) {
        String hql = " update "+InoutRecord.class.getName() +" set settleTag=:settleTag where id=:id";
        Session session = this.getSessionFactory().openSession();
        try {
            Query query = session.createQuery(hql);
            query.setString("settleTag", Constant.YN_Y);
            query.setString("id", id);
            query.executeUpdate();
        } finally {
            session.flush();
            session.close();
        }
    }
        Map<String, Object> args = new HashMap<String, Object>();
        if (StringUtils.isEmpty(companyId)) {
            companyId = ContextUtil.getCompanyId();
        }
        args.put("companyId", ContextUtil.getCompanyId());
        if (StringUtils.isNotEmpty(id)) {
            hql += " and id=:id";
            args.put("id", id);
        }
        hql += " order by payTime desc";
        List<InoutSettle> list = this.query(hql, args);
        if (list != null && list.size() > 0) {
            return list.get(0);
        }
        return null;
    }
    public String saveOrUpdateData(InoutSettle data) {
        Session session = this.getSessionFactory().openSession();
        try {
            if (null == data.getPayTime()) {
                data.setPayTime(new Date());
            }
            if (null == data.getCompanyId()) {
                data.setCompanyId(ContextUtil.getCompanyId());
                session.save(data);
            } else {
                session.update(data);
            }
        } finally {
            session.flush();
            session.close();
        }
        return null;
    }
    public void updateInoutRecordPay(String id) {
        String hql = " update " + InoutRecord.class.getName() + " set settleTag=:settleTag where id=:id";
        Session session = this.getSessionFactory().openSession();
        try {
            Query query = session.createQuery(hql);
            query.setString("settleTag", Constant.YN_Y);
            query.setString("id", id);
            query.executeUpdate();
        } finally {
            session.flush();
            session.close();
        }
    }
    /**
     * æ ¹æ®æ¡ä»¶åˆ†é¡µèŽ·å–ç»“ç®—ä¿¡æ¯
     *
     * @param page
     * @param param
     */
    public void pageSettle(Page<InoutSettle> page, InoutParam param) throws Exception {
        String hql = " from " + InoutSettle.class.getName()
                + " where companyId =:companyId and deptId=:deptId";
        Map<String, Object> args = new HashMap<>();
        args.put("companyId", param.getCompanyId());
        args.put("deptId", param.getDeptId());
        if (StringUtils.isNotEmpty(param.getType())) {
            hql += " and inoutType =:inoutType";
            args.put("inoutType", param.getType());
        }
        if (StringUtils.isNotEmpty(param.getId())) {
            hql += " and id like:id";
            args.put("id", "%" + param.getId() + "%");
        }
        if (StringUtils.isNotEmpty(param.getDepotId())) {
            hql += " and depotId =:depotId";
            args.put("depotId", param.getDepotId());
        }
        if (null != param.getStart()) {
            hql += " and payTime >=:start";
            args.put("start", DateUtil.getCurZero(param.getStart()));
        }
        if (null != param.getEnd()) {
            hql += " and payTime <=:end";
            args.put("end", DateUtil.getNextZero(param.getEnd()));
        }
        String countHql = " select count(*) " + hql;
        hql += " order by id desc ";
        this.pagingQuery(page, hql, countHql, args);
    }
}
igds-inout/src/main/java/com/ld/igds/inout/service/JInoutReportService.java
@@ -271,7 +271,7 @@
    }
    // æ³¨æ„ï¼šå¦‚果期末库存没有临近数据,则表示获取最新的库存
    private ReportInoutDepotData updateDepotReportQmkc(ReportInoutDepotData d,
    public ReportInoutDepotData updateDepotReportQmkc(ReportInoutDepotData d,
                                                       List<ReportInoutStorageData> list2) {
        ReportInoutStorageData inoutStorageData = null;
        for (ReportInoutStorageData storageData : list2) {
igds-inout/src/main/java/com/ld/igds/inout/service/impl/InoutServiceImpl.java
@@ -20,7 +20,6 @@
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.apache.commons.lang3.time.DateFormatUtils;
import org.apache.xmlbeans.impl.tool.Extension;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Component;
igds-inout/src/main/java/com/ld/igds/inout/view/InoutDataPR.java
@@ -13,13 +13,9 @@
import com.bstek.dorado.annotation.Expose;
import com.bstek.dorado.data.provider.Page;
import com.bstek.dorado.uploader.UploadFile;
import com.bstek.dorado.uploader.annotation.FileProvider;
import com.bstek.dorado.uploader.annotation.FileResolver;
import com.ld.igds.constant.RedisConst;
import com.ld.igds.data.PageResponse;
import com.ld.igds.file.CoreFileService;
import com.ld.igds.file.FileManager;
import com.ld.igds.inout.InoutConstant;
import com.ld.igds.inout.dto.InoutData;
import com.ld.igds.inout.dto.InoutParam;
@@ -27,7 +23,6 @@
import com.ld.igds.inout.manager.InoutReportManager;
import com.ld.igds.inout.service.InoutService;
import com.ld.igds.models.DicTrigger;
import com.ld.igds.models.FileInfo;
import com.ld.igds.util.ContextUtil;
import com.ld.igds.util.RedisUtil;
@@ -36,7 +31,6 @@
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.multipart.MultipartFile;
import javax.annotation.Resource;
igds-inout/src/main/java/com/ld/igds/inout/view/InoutSettle.view.xml
@@ -3,23 +3,7 @@
  <Arguments/>
  <Context/>
  <Model>
    <DataType name="dtInoutRecord" parent="global:dtInoutRecord">
      <PropertyDef name="settleTag">
        <Property></Property>
        <Property name="label">结算状态</Property>
        <Property name="mapping">
          <Property name="mapValues">${dorado.getDataProvider(&quot;inoutSettlePR#triggerSettleTag&quot;).getResult()}</Property>
          <Property name="keyProperty">code</Property>
          <Property name="valueProperty">name</Property>
        </Property>
      </PropertyDef>
      <PropertyDef name="price">
        <Property></Property>
        <Property name="label">初步定价</Property>
        <Property name="dataType">Double</Property>
        <Property name="displayFormat">0.000 å…ƒ/公斤</Property>
      </PropertyDef>
    </DataType>
    <DataType name="dtInoutRecord" parent="global:dtInoutRecord"/>
    <DataType name="dtQuery">
      <Property name="creationType">com.ld.igds.inout.dto.InoutParam</Property>
      <PropertyDef name="deptId">
@@ -29,19 +13,13 @@
      <PropertyDef name="id">
        <Property name="label">单据号</Property>
      </PropertyDef>
      <PropertyDef name="type">
        <Property name="label">出入库类型</Property>
      </PropertyDef>
      <PropertyDef name="plateNum">
        <Property name="label">车牌号</Property>
      </PropertyDef>
      <PropertyDef name="customerId">
      <PropertyDef name="contractId">
        <Property></Property>
        <Property name="label">往来单位</Property>
        <Property name="label">合同编码</Property>
      </PropertyDef>
      <PropertyDef name="customerName">
      <PropertyDef name="contractName">
        <Property></Property>
        <Property name="label">往来单位</Property>
        <Property name="label">合同名称</Property>
      </PropertyDef>
      <PropertyDef name="depotId">
        <Property></Property>
@@ -52,24 +30,6 @@
          <Property name="valueProperty">name</Property>
        </Property>
      </PropertyDef>
      <PropertyDef name="foodVariety">
        <Property></Property>
        <Property name="label">粮食品种</Property>
        <Property name="mapping">
          <Property name="mapValues">${dorado.getDataProvider(&quot;dicTriggerPR#dicTrigger&quot;).getResult(&quot;FOOD_VARIETY_&quot;)}</Property>
          <Property name="keyProperty">code</Property>
          <Property name="valueProperty">name</Property>
        </Property>
      </PropertyDef>
      <PropertyDef name="settleTag">
        <Property name="mapping">
          <Property name="mapValues">${dorado.getDataProvider(&quot;inoutSettlePR#triggerSettleTag&quot;).getResult()}</Property>
          <Property name="keyProperty">code</Property>
          <Property name="valueProperty">name</Property>
        </Property>
        <Property name="label">结算状态</Property>
        <Property name="defaultValue">N</Property>
      </PropertyDef>
      <PropertyDef name="start">
        <Property name="label">开始时间</Property>
        <Property name="dataType">Date</Property>
@@ -79,66 +39,10 @@
        <Property name="dataType">Date</Property>
      </PropertyDef>
    </DataType>
    <DataType name="dtInoutSettle" parent="global:dtInoutSettle">
      <ClientEvent name="onDataChange">if(arg.property ==&quot;payPrice&quot;){&#xD;
    checkCount(arg.newValue);&#xD;
}&#xD;
if(arg.property ==&quot;otherSum&quot;){&#xD;
    checkCount(arg.newValue);&#xD;
}</ClientEvent>
      <PropertyDef name="depotId">
        <Property></Property>
        <Property name="label">所属仓库</Property>
        <Property name="mapping">
          <Property name="mapValues">${dorado.getDataProvider(&quot;depotPR#getAllCache&quot;).getResult()}</Property>
          <Property name="keyProperty">id</Property>
          <Property name="valueProperty">name</Property>
        </Property>
      </PropertyDef>
      <PropertyDef name="deptId">
        <Property></Property>
      </PropertyDef>
      <PropertyDef name="userName">
        <Property></Property>
        <Property name="label">承运人</Property>
      </PropertyDef>
      <PropertyDef name="plateNum">
        <Property></Property>
        <Property name="label">车牌号</Property>
      </PropertyDef>
      <PropertyDef name="foodVariety">
        <Property></Property>
        <Property name="label">粮食品种</Property>
        <Property name="mapping">
          <Property name="mapValues">${dorado.getDataProvider(&quot;dicTriggerPR#dicTrigger&quot;).getResult(&quot;FOOD_VARIETY_&quot;)}</Property>
          <Property name="keyProperty">code</Property>
          <Property name="valueProperty">name</Property>
        </Property>
      </PropertyDef>
      <PropertyDef name="foodLevel">
        <Property></Property>
        <Property name="label">粮食等级</Property>
        <Property name="mapping">
          <Property name="mapValues">${dorado.getDataProvider(&quot;dicTriggerPR#dicTrigger&quot;).getResult(&quot;FOOD_LEVEL_&quot;)}</Property>
          <Property name="keyProperty">code</Property>
          <Property name="valueProperty">name</Property>
        </Property>
      </PropertyDef>
      <PropertyDef name="completeTime">
        <Property></Property>
        <Property name="label">完成时间</Property>
        <Property name="dataType">DateTime</Property>
      </PropertyDef>
    </DataType>
    <DataType name="dtInoutSettle" parent="global:dtInoutSettle"/>
  </Model>
  <View layout="padding:5;regionPadding:10">
    <ClientEvent name="onReady">var TYPE = &quot;${request.getParameter('type')}&quot;;&#xD;
                          &#xD;
//默认查询查询提条件&#xD;
view.get(&quot;#dsQuery&quot;).insert({&#xD;
    type: TYPE&#xD;
});&#xD;
            &#xD;
    <ClientEvent name="onReady">&#xD;
//查询&#xD;
query = function(){&#xD;
    var data = view.get(&quot;#dsQuery.data&quot;);&#xD;
@@ -150,7 +54,6 @@
        view.get(&quot;#dsSettleData&quot;).set(&quot;parameter&quot;,data).flushAsync();&#xD;
    }&#xD;
};&#xD;
query();&#xD;
&#xD;
//结算&#xD;
settle = function(){&#xD;
@@ -190,6 +93,7 @@
    <Property name="packages">font-awesome,css-common</Property>
    <Property name="javaScriptFile">./static/plugins/lodop/LodopFuncs.js</Property>
    <DataSet id="dsQuery">
      <ClientEvent name="onReady">self.insert();</ClientEvent>
      <Property name="dataType">dtQuery</Property>
    </DataSet>
    <ToolBar layoutConstraint="top">
@@ -220,17 +124,8 @@
        </Editor>
      </AutoFormElement>
      <AutoFormElement>
        <Property name="name">plateNum</Property>
        <Property name="property">plateNum</Property>
        <Editor>
          <TextEditor>
            <Property name="blankText">-- æ”¯æŒæ¨¡ç³Š --</Property>
          </TextEditor>
        </Editor>
      </AutoFormElement>
      <AutoFormElement>
        <Property name="name">customerName</Property>
        <Property name="property">customerName</Property>
        <Property name="name">contractName</Property>
        <Property name="property">contractName</Property>
        <Property name="trigger">ddCustomer</Property>
        <Property name="editable">false</Property>
        <Editor/>
@@ -281,29 +176,18 @@
    </AutoForm>
    <TabControl id="tabControl1">
      <ControlTab>
        <ClientEvent name="onClick">view.get(&quot;#btnExcel&quot;).set(&quot;visible&quot;,false);</ClientEvent>
        <Property name="caption">未结算</Property>
        <Property name="caption">合同结算</Property>
        <Property name="iconClass">fa fa-th-list</Property>
        <Property name="width">150</Property>
        <Container layout="regionPadding:10" layoutConstraint="center">
          <Property name="exClassName">bg-color</Property>
          <DataSet id="dsInoutRecord">
          <DataSet id="dsSettle1">
            <Property name="dataType">[dtInoutSettle]</Property>
            <Property name="dataProvider">inoutSettlePR#pageSettleIn1</Property>
            <Property name="pageSize">20</Property>
            <Property name="dataProvider">inoutSettlePR#pageInoutRecord</Property>
            <Property name="loadMode">manual</Property>
            <Property name="dataType">[dtInoutRecord]</Property>
          </DataSet>
          <DataSet id="dsSettle">
            <Property name="dataType">dtInoutSettle</Property>
            <Property name="loadMode">manual</Property>
            <Property name="dataProvider">inoutSettlePR#getSettleByInoutData</Property>
          </DataSet>
          <DataGrid id="dataGridMain" layoutConstraint="center">
            <ClientEvent name="onDataRowDoubleClick">settle();</ClientEvent>
            <ClientEvent name="onDataRowClick">//实现点击即选中&#xD;
                    //self.set(&quot;selection&quot;,arg.data);
                </ClientEvent>
            <Property name="dataSet">dsInoutRecord</Property>
          <DataGrid id="dataGridMain1" layoutConstraint="center">
            <Property name="dataSet">dsSettle1</Property>
            <Property name="readOnly">true</Property>
            <Property name="dynaRowHeight">false</Property>
            <Property name="selectionMode">multiRows</Property>
@@ -313,89 +197,52 @@
            <RowNumColumn/>
            <DataColumn name="id">
              <ClientEvent name="onRenderCell">arg.dom.style.fontWeight = &quot;bold&quot;;&#xD;
                        arg.dom.style.color = &quot;#f67d06&quot;;&#xD;
                        arg.processDefault = true;</ClientEvent>
arg.dom.style.color = &quot;#f67d06&quot;;&#xD;
arg.processDefault = true;</ClientEvent>
              <Property name="property">id</Property>
              <Property name="align">center</Property>
              <Property name="width">150</Property>
            </DataColumn>
            <DataColumn name="plateNum">
              <ClientEvent name="onRenderCell">arg.dom.style.fontWeight = &quot;bold&quot;;&#xD;
                        arg.processDefault = true;</ClientEvent>
              <Property name="property">plateNum</Property>
              <Property name="align">center</Property>
              <Property name="width">150</Property>
            </DataColumn>
            <DataColumn name="customerName">
              <Property name="property">customerName</Property>
              <Property name="align">center</Property>
              <Property name="width">200</Property>
            </DataColumn>
            <DataColumn name="userName">
              <Property name="property">userName</Property>
              <Property name="width">150</Property>
              <Property name="align">center</Property>
            </DataColumn>
            <DataColumn name="foodVariety">
              <Property name="property">foodVariety</Property>
              <Property name="align">center</Property>
              <Property name="width">150</Property>
            </DataColumn>
            <DataColumn name="depotId">
              <ClientEvent name="onRenderCell">arg.dom.style.fontWeight = &quot;bold&quot;;&#xD;
                        arg.processDefault = true;</ClientEvent>
              <Property name="property">depotId</Property>
              <Property name="align">center</Property>
              <Property name="width">150</Property>
            </DataColumn>
            <DataColumn name="fullWeight">
              <Property name="property">fullWeight</Property>
              <Property name="caption">毛重</Property>
              <Property name="align">center</Property>
              <Property name="width">120</Property>
            </DataColumn>
            <DataColumn name="emptyWeight">
              <Property name="property">emptyWeight</Property>
              <Property name="caption">皮重</Property>
              <Property name="align">center</Property>
              <Property name="width">120</Property>
            </DataColumn>
            <DataColumn name="netWeight">
              <Property name="property">netWeight</Property>
              <Property name="align">center</Property>
              <Property name="caption">净重</Property>
              <Property name="width">120</Property>
            </DataColumn>
            <DataColumn>
              <Property name="property">deSum</Property>
              <Property name="align">center</Property>
              <Property name="caption">总扣重</Property>
              <Property name="name">deSum</Property>
              <Property name="width">120</Property>
            <DataColumn name="contractName">
              <Property name="property">contractName</Property>
            </DataColumn>
            <DataColumn name="settleWeight">
              <ClientEvent name="onRenderCell">arg.dom.style.fontWeight = &quot;bold&quot;;&#xD;
                        arg.processDefault = true;</ClientEvent>
              <Property name="property">settleWeight</Property>
              <Property name="align">center</Property>
              <Property name="width">120</Property>
            </DataColumn>
            <DataColumn name="payPrice">
              <Property name="property">payPrice</Property>
            </DataColumn>
            <DataColumn>
              <Property name="property">price</Property>
              <Property name="align">center</Property>
              <Property name="width">150</Property>
              <Property name="name">price</Property>
              <Property name="property">payMoney</Property>
              <Property name="name">payMoney</Property>
            </DataColumn>
            <DataColumn name="completeTime">
              <Property name="property">completeTime</Property>
              <Property name="width">150</Property>
            <DataColumn name="payTime">
              <Property name="property">payTime</Property>
            </DataColumn>
            <DataColumn name="payType">
              <Property name="property">payType</Property>
            </DataColumn>
            <DataColumn name="payee">
              <Property name="property">payee</Property>
            </DataColumn>
            <DataColumn name="bank">
              <Property name="property">bank</Property>
            </DataColumn>
            <DataColumn name="bizType">
              <Property name="property">bizType</Property>
            </DataColumn>
            <DataColumn name="payUser">
              <Property name="property">payUser</Property>
            </DataColumn>
          </DataGrid>
          <ToolBar layoutConstraint="bottom ">
            <Fill/>
            <DataPilot layoutConstraint="right">
              <Property name="itemCodes">pageSize,pages</Property>
              <Property name="dataSet">dsInoutRecord</Property>
              <Property name="dataSet">dsSettle1</Property>
            </DataPilot>
          </ToolBar>
          <Dialog id="dialogMain">
@@ -404,6 +251,7 @@
            <Property name="width">75%</Property>
            <Property name="iconClass">fa fa-tasks</Property>
            <Property name="showCaptionBar">true</Property>
            <Property name="ignored">true</Property>
            <Buttons>
              <Button>
                <ClientEvent name="onClick">var data = view.get(&quot;#dsInoutRecord.data:#&quot;);&#xD;
@@ -693,22 +541,21 @@
      </ControlTab>
      <ControlTab>
        <ClientEvent name="onClick">view.get(&quot;#btnExcel&quot;).set(&quot;visible&quot;,true);</ClientEvent>
        <Property name="caption">已结算</Property>
        <Property name="caption">单车结算</Property>
        <Property name="iconClass">fa fa-jpy</Property>
        <Property name="width">150</Property>
        <Container layout="regionPadding:10" layoutConstraint="center">
          <Property name="exClassName">bg-color</Property>
          <DataSet id="dsSettleData">
          <DataSet id="dsSettle2">
            <Property name="pageSize">20</Property>
            <Property name="dataProvider">inoutSettlePR#pageSettleData</Property>
            <Property name="dataProvider">inoutSettlePR#pageSettleIn0</Property>
            <Property name="dataType">[dtInoutSettle]</Property>
          </DataSet>
          <DataGrid id="dataGridMain2" layoutConstraint="center">
            <ClientEvent name="onDataRowDoubleClick">settle2();</ClientEvent>
            <ClientEvent name="onDataRowClick">          </ClientEvent>
            <Property name="dataSet">dsSettleData</Property>
            <Property name="dataSet">dsSettle2</Property>
            <Property name="readOnly">true</Property>
            <Property name="dynaRowHeight">false</Property>
            <Property name="selectionMode">multiRows</Property>
            <Property name="highlightSelectedRow">true</Property>
            <Property name="highlightCurrentRow">true</Property>
            <Property name="highlightHoverRow">true</Property>
@@ -721,91 +568,46 @@
              <Property name="align">center</Property>
              <Property name="width">150</Property>
            </DataColumn>
            <DataColumn name="plateNum">
              <ClientEvent name="onRenderCell">arg.dom.style.fontWeight = &quot;bold&quot;;&#xD;
arg.processDefault = true;</ClientEvent>
              <Property name="property">plateNum</Property>
              <Property name="align">center</Property>
              <Property name="width">150</Property>
            </DataColumn>
            <DataColumn name="customerName">
              <Property name="property">customerName</Property>
              <Property name="align">center</Property>
              <Property name="width">200</Property>
            </DataColumn>
            <DataColumn name="userName">
              <Property name="property">userName</Property>
              <Property name="width">150</Property>
              <Property name="align">center</Property>
            </DataColumn>
            <DataColumn name="foodVariety">
              <Property name="property">foodVariety</Property>
              <Property name="align">center</Property>
              <Property name="width">120</Property>
            </DataColumn>
            <DataColumn name="depotId">
              <ClientEvent name="onRenderCell">arg.dom.style.fontWeight = &quot;bold&quot;;&#xD;
                        arg.processDefault = true;</ClientEvent>
              <Property name="property">depotId</Property>
              <Property name="align">center</Property>
              <Property name="width">150</Property>
            </DataColumn>
            <DataColumn name="paySum">
              <ClientEvent name="onRenderCell">arg.dom.style.fontWeight = &quot;bold&quot;;&#xD;
arg.dom.style.color = &quot;#f67d06&quot;;&#xD;
arg.processDefault = true;</ClientEvent>
              <Property name="property">paySum</Property>
              <Property name="width">150</Property>
              <Property name="align">center</Property>
            </DataColumn>
            <DataColumn name="payTime">
              <Property name="property">payTime</Property>
              <Property name="width">150</Property>
              <Property name="align">center</Property>
            </DataColumn>
            <DataColumn name="fullWeight">
              <Property name="property">fullWeight</Property>
              <Property name="caption">毛重</Property>
              <Property name="align">center</Property>
              <Property name="width">120</Property>
            </DataColumn>
            <DataColumn name="emptyWeight">
              <Property name="property">emptyWeight</Property>
              <Property name="caption">皮重</Property>
              <Property name="align">center</Property>
              <Property name="width">120</Property>
            </DataColumn>
            <DataColumn name="netWeight">
              <Property name="property">netWeight</Property>
              <Property name="align">center</Property>
              <Property name="caption">净重</Property>
              <Property name="width">120</Property>
            </DataColumn>
            <DataColumn>
              <Property name="property">deSum</Property>
              <Property name="align">center</Property>
              <Property name="caption">总扣重</Property>
              <Property name="name">deSum</Property>
              <Property name="width">120</Property>
            <DataColumn name="contractName">
              <Property name="property">contractName</Property>
            </DataColumn>
            <DataColumn name="settleWeight">
              <ClientEvent name="onRenderCell">arg.dom.style.fontWeight = &quot;bold&quot;;&#xD;
                        arg.processDefault = true;</ClientEvent>
              <Property name="property">settleWeight</Property>
              <Property name="align">center</Property>
              <Property name="width">120</Property>
            </DataColumn>
            <DataColumn name="payPrice">
              <Property name="property">payPrice</Property>
              <Property name="width">150</Property>
              <Property name="align">center</Property>
            </DataColumn>
            <DataColumn>
              <Property name="property">payMoney</Property>
              <Property name="name">payMoney</Property>
            </DataColumn>
            <DataColumn name="payTime">
              <Property name="property">payTime</Property>
            </DataColumn>
            <DataColumn name="payType">
              <Property name="property">payType</Property>
            </DataColumn>
            <DataColumn name="payee">
              <Property name="property">payee</Property>
            </DataColumn>
            <DataColumn name="bank">
              <Property name="property">bank</Property>
            </DataColumn>
            <DataColumn name="bizType">
              <Property name="property">bizType</Property>
            </DataColumn>
            <DataColumn name="payUser">
              <Property name="property">payUser</Property>
            </DataColumn>
          </DataGrid>
          <ToolBar layoutConstraint="bottom ">
            <Fill/>
            <DataPilot layoutConstraint="right">
              <Property name="itemCodes">pageSize,pages</Property>
              <Property name="dataSet">dsSettleData</Property>
              <Property name="dataSet">dsSettle2</Property>
            </DataPilot>
          </ToolBar>
          <Dialog id="dialogMain2">
igds-inout/src/main/java/com/ld/igds/inout/view/InoutSettle1.js
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,34 @@
/**
 * æ‰“印出库过磅单
 */
printBill = function(htmlStr) {
    var LODOP = CLODOP;
    LODOP.PRINT_INIT("称重单");
    LODOP.SET_PRINT_PAGESIZE(1,2050,1400, "A4");
    //LODOP.SET_PRINT_PAGESIZE(1, 0, '90mm', "A4");
    LODOP.ADD_PRINT_HTM(0, 0, "100%", "100%", htmlStr);
    LODOP.PREVIEW();
};
//打印结算单
printSettle = function(data){
    if(!data){
        $alert("没有获取到结算信息,请先进行结算!");
        return ;
    }
    view.get("#ajaxPrint").set("parameter",data).execute(function(result){
        printBill(result);
    });
};
//打印结算单
printSettle2 = function(data){
    if(!data){
        $alert("没有获取到结算信息,请先进行结算!");
        return ;
    }
    view.get("#ajaxPrint2").set("parameter",data).execute(function(result){
        printBill(result);
    });
};
igds-inout/src/main/java/com/ld/igds/inout/view/InoutSettle1.view.xml
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,1147 @@
<?xml version="1.0" encoding="UTF-8"?>
<ViewConfig>
  <Arguments/>
  <Context/>
  <Model>
    <DataType name="dtInoutRecord" parent="global:dtInoutRecord">
      <PropertyDef name="settleTag">
        <Property></Property>
        <Property name="label">结算状态</Property>
        <Property name="mapping">
          <Property name="mapValues">${dorado.getDataProvider(&quot;inoutSettlePR#triggerSettleTag&quot;).getResult()}</Property>
          <Property name="keyProperty">code</Property>
          <Property name="valueProperty">name</Property>
        </Property>
      </PropertyDef>
      <PropertyDef name="price">
        <Property></Property>
        <Property name="label">初步定价</Property>
        <Property name="dataType">Double</Property>
        <Property name="displayFormat">0.000 å…ƒ/公斤</Property>
      </PropertyDef>
    </DataType>
    <DataType name="dtQuery">
      <Property name="creationType">com.ld.igds.inout.dto.InoutParam</Property>
      <PropertyDef name="deptId">
        <Property></Property>
        <Property name="label">所属分库</Property>
      </PropertyDef>
      <PropertyDef name="id">
        <Property name="label">单据号</Property>
      </PropertyDef>
      <PropertyDef name="type">
        <Property name="label">出入库类型</Property>
      </PropertyDef>
      <PropertyDef name="plateNum">
        <Property name="label">车牌号</Property>
      </PropertyDef>
      <PropertyDef name="customerId">
        <Property></Property>
        <Property name="label">往来单位</Property>
      </PropertyDef>
      <PropertyDef name="customerName">
        <Property></Property>
        <Property name="label">往来单位</Property>
      </PropertyDef>
      <PropertyDef name="depotId">
        <Property></Property>
        <Property name="label">仓库</Property>
        <Property name="mapping">
          <Property name="mapValues">${dorado.getDataProvider(&quot;depotPR#getAllCache&quot;).getResult()}</Property>
          <Property name="keyProperty">id</Property>
          <Property name="valueProperty">name</Property>
        </Property>
      </PropertyDef>
      <PropertyDef name="foodVariety">
        <Property></Property>
        <Property name="label">粮食品种</Property>
        <Property name="mapping">
          <Property name="mapValues">${dorado.getDataProvider(&quot;dicTriggerPR#dicTrigger&quot;).getResult(&quot;FOOD_VARIETY_&quot;)}</Property>
          <Property name="keyProperty">code</Property>
          <Property name="valueProperty">name</Property>
        </Property>
      </PropertyDef>
      <PropertyDef name="settleTag">
        <Property name="mapping">
          <Property name="mapValues">${dorado.getDataProvider(&quot;inoutSettlePR#triggerSettleTag&quot;).getResult()}</Property>
          <Property name="keyProperty">code</Property>
          <Property name="valueProperty">name</Property>
        </Property>
        <Property name="label">结算状态</Property>
        <Property name="defaultValue">N</Property>
      </PropertyDef>
      <PropertyDef name="start">
        <Property name="label">开始时间</Property>
        <Property name="dataType">Date</Property>
      </PropertyDef>
      <PropertyDef name="end">
        <Property name="label">截止时间</Property>
        <Property name="dataType">Date</Property>
      </PropertyDef>
    </DataType>
    <DataType name="dtInoutSettle" parent="global:dtInoutSettle">
      <ClientEvent name="onDataChange">if(arg.property ==&quot;payPrice&quot;){&#xD;
    checkCount(arg.newValue);&#xD;
}&#xD;
if(arg.property ==&quot;otherSum&quot;){&#xD;
    checkCount(arg.newValue);&#xD;
}</ClientEvent>
      <PropertyDef name="depotId">
        <Property></Property>
        <Property name="label">所属仓库</Property>
        <Property name="mapping">
          <Property name="mapValues">${dorado.getDataProvider(&quot;depotPR#getAllCache&quot;).getResult()}</Property>
          <Property name="keyProperty">id</Property>
          <Property name="valueProperty">name</Property>
        </Property>
      </PropertyDef>
      <PropertyDef name="deptId">
        <Property></Property>
      </PropertyDef>
      <PropertyDef name="userName">
        <Property></Property>
        <Property name="label">承运人</Property>
      </PropertyDef>
      <PropertyDef name="plateNum">
        <Property></Property>
        <Property name="label">车牌号</Property>
      </PropertyDef>
      <PropertyDef name="foodVariety">
        <Property></Property>
        <Property name="label">粮食品种</Property>
        <Property name="mapping">
          <Property name="mapValues">${dorado.getDataProvider(&quot;dicTriggerPR#dicTrigger&quot;).getResult(&quot;FOOD_VARIETY_&quot;)}</Property>
          <Property name="keyProperty">code</Property>
          <Property name="valueProperty">name</Property>
        </Property>
      </PropertyDef>
      <PropertyDef name="foodLevel">
        <Property></Property>
        <Property name="label">粮食等级</Property>
        <Property name="mapping">
          <Property name="mapValues">${dorado.getDataProvider(&quot;dicTriggerPR#dicTrigger&quot;).getResult(&quot;FOOD_LEVEL_&quot;)}</Property>
          <Property name="keyProperty">code</Property>
          <Property name="valueProperty">name</Property>
        </Property>
      </PropertyDef>
      <PropertyDef name="completeTime">
        <Property></Property>
        <Property name="label">完成时间</Property>
        <Property name="dataType">DateTime</Property>
      </PropertyDef>
    </DataType>
  </Model>
  <View layout="padding:5;regionPadding:10">
    <ClientEvent name="onReady">var TYPE = &quot;${request.getParameter('type')}&quot;;&#xD;
                          &#xD;
//默认查询查询提条件&#xD;
view.get(&quot;#dsQuery&quot;).insert({&#xD;
    type: TYPE&#xD;
});&#xD;
            &#xD;
//查询&#xD;
query = function(){&#xD;
    var data = view.get(&quot;#dsQuery.data&quot;);&#xD;
    var tabIndex = view.get(&quot;#tabControl1&quot;).get(&quot;currentIndex&quot;);&#xD;
    if(0 == tabIndex){&#xD;
        view.get(&quot;#dsInoutRecord&quot;).set(&quot;parameter&quot;,data).flushAsync();&#xD;
        view.get(&quot;#dsSettleData&quot;).set(&quot;parameter&quot;,data);&#xD;
    }else{&#xD;
        view.get(&quot;#dsSettleData&quot;).set(&quot;parameter&quot;,data).flushAsync();&#xD;
    }&#xD;
};&#xD;
query();&#xD;
&#xD;
//结算&#xD;
settle = function(){&#xD;
    var data = view.get(&quot;#dataGridMain.currentEntity&quot;);&#xD;
    if (!data) {&#xD;
        return;&#xD;
    }&#xD;
    view.get(&quot;#dialogMain&quot;).show();&#xD;
    view.get(&quot;#dsSettle&quot;).set(&quot;parameter&quot;,data).flushAsync();&#xD;
};&#xD;
&#xD;
settle2 = function(){&#xD;
    var data = view.get(&quot;#dataGridMain2.currentEntity&quot;);&#xD;
    if (!data) {&#xD;
        return;&#xD;
    }&#xD;
    view.get(&quot;#dialogMain2&quot;).show();&#xD;
};&#xD;
                      &#xD;
//重新计算金额&#xD;
checkCount = function(){&#xD;
    var settle = view.get(&quot;#dsSettle.data&quot;);&#xD;
    &#xD;
    //计算粮食总金额&#xD;
    var payPrice = settle.get(&quot;payPrice&quot;);&#xD;
    &#xD;
    var foodSum = settle.get(&quot;settleWeight&quot;) * payPrice;&#xD;
    &#xD;
    //计算结算费用&#xD;
    var otherSum = settle.get(&quot;otherSum&quot;);&#xD;
    &#xD;
    //计算结算费用&#xD;
    var paySum = foodSum - otherSum;&#xD;
    settle.set(&quot;paySum&quot;,paySum); &#xD;
};&#xD;
    </ClientEvent>
    <Property name="packages">font-awesome,css-common</Property>
    <Property name="javaScriptFile">./static/plugins/lodop/LodopFuncs.js</Property>
    <DataSet id="dsQuery">
      <Property name="dataType">dtQuery</Property>
    </DataSet>
    <ToolBar layoutConstraint="top">
      <SimpleIconButton>
        <Property name="iconClass">fa fa-th-list</Property>
      </SimpleIconButton>
      <ToolBarLabel>
        <Property name="text">结算列表</Property>
        <Property name="style">
          <Property name="font-weight">bold</Property>
        </Property>
      </ToolBarLabel>
    </ToolBar>
    <AutoForm layoutConstraint="top">
      <Property name="cols">*,*,*,*</Property>
      <Property name="dataSet">dsQuery</Property>
      <Property name="exClassName">bg-color</Property>
      <Property name="labelWidth">90</Property>
      <Property name="labelSeparator">:</Property>
      <Property name="labelAlign">right</Property>
      <AutoFormElement>
        <Property name="name">id</Property>
        <Property name="property">id</Property>
        <Editor>
          <TextEditor>
            <Property name="blankText">-- æ”¯æŒæ¨¡ç³Š --</Property>
          </TextEditor>
        </Editor>
      </AutoFormElement>
      <AutoFormElement>
        <Property name="name">plateNum</Property>
        <Property name="property">plateNum</Property>
        <Editor>
          <TextEditor>
            <Property name="blankText">-- æ”¯æŒæ¨¡ç³Š --</Property>
          </TextEditor>
        </Editor>
      </AutoFormElement>
      <AutoFormElement>
        <Property name="name">customerName</Property>
        <Property name="property">customerName</Property>
        <Property name="trigger">ddCustomer</Property>
        <Property name="editable">false</Property>
        <Editor/>
      </AutoFormElement>
      <AutoFormElement>
        <Property name="name">depotId</Property>
        <Property name="property">depotId</Property>
        <Property name="trigger">autoMappingDropDown2</Property>
        <Editor/>
      </AutoFormElement>
      <AutoFormElement>
        <Property name="name">start</Property>
        <Property name="property">start</Property>
        <Property name="trigger">defaultDateDropDown</Property>
        <Editor/>
      </AutoFormElement>
      <AutoFormElement>
        <Property name="name">end</Property>
        <Property name="property">end</Property>
        <Property name="trigger">defaultDateDropDown</Property>
        <Editor/>
      </AutoFormElement>
      <Container layout="hbox regionPadding:15">
        <Button>
          <ClientEvent name="onClick">query();&#xD;
                    </ClientEvent>
          <Property name="caption">查询</Property>
          <Property name="exClassName">btn-normal</Property>
          <Property name="iconClass">fa fa-search</Property>
        </Button>
        <Button>
          <ClientEvent name="onClick">var type =&quot;${request.getParameter('type')}&quot;;&#xD;
                        var deptId = window.parent.deptId;//父页面中的分库编码&#xD;
                        view.get(&quot;#dsQuery&quot;).setData({type:type,deptId:deptId});</ClientEvent>
          <Property name="exClassName">btn-warn</Property>
          <Property name="iconClass">fa fa-refresh</Property>
          <Property name="caption">重置</Property>
        </Button>
        <Button id="btnExcel">
          <Property name="exClassName">btn-flush</Property>
          <Property name="iconClass">fa fa-file-excel-o</Property>
          <Property name="caption">导出EXCEL</Property>
          <Property name="hideMode">display</Property>
          <Property name="visible">false</Property>
          <Property name="action">export2Pay</Property>
        </Button>
      </Container>
    </AutoForm>
    <TabControl id="tabControl1">
      <ControlTab>
        <ClientEvent name="onClick">view.get(&quot;#btnExcel&quot;).set(&quot;visible&quot;,false);</ClientEvent>
        <Property name="caption">未结算</Property>
        <Property name="iconClass">fa fa-th-list</Property>
        <Property name="width">150</Property>
        <Container layout="regionPadding:10" layoutConstraint="center">
          <Property name="exClassName">bg-color</Property>
          <DataSet id="dsInoutRecord">
            <Property name="pageSize">20</Property>
            <Property name="dataProvider">inoutSettlePR#pageInoutRecord</Property>
            <Property name="loadMode">manual</Property>
            <Property name="dataType">[dtInoutRecord]</Property>
          </DataSet>
          <DataSet id="dsSettle">
            <Property name="dataType">dtInoutSettle</Property>
            <Property name="loadMode">manual</Property>
            <Property name="dataProvider">inoutSettlePR#getSettleByInoutData</Property>
          </DataSet>
          <DataGrid id="dataGridMain" layoutConstraint="center">
            <ClientEvent name="onDataRowDoubleClick">settle();</ClientEvent>
            <ClientEvent name="onDataRowClick">//实现点击即选中&#xD;
                    //self.set(&quot;selection&quot;,arg.data);
                </ClientEvent>
            <Property name="dataSet">dsInoutRecord</Property>
            <Property name="readOnly">true</Property>
            <Property name="dynaRowHeight">false</Property>
            <Property name="selectionMode">multiRows</Property>
            <Property name="highlightSelectedRow">true</Property>
            <Property name="highlightCurrentRow">true</Property>
            <Property name="highlightHoverRow">true</Property>
            <RowNumColumn/>
            <DataColumn name="id">
              <ClientEvent name="onRenderCell">arg.dom.style.fontWeight = &quot;bold&quot;;&#xD;
                        arg.dom.style.color = &quot;#f67d06&quot;;&#xD;
                        arg.processDefault = true;</ClientEvent>
              <Property name="property">id</Property>
              <Property name="align">center</Property>
              <Property name="width">150</Property>
            </DataColumn>
            <DataColumn name="plateNum">
              <ClientEvent name="onRenderCell">arg.dom.style.fontWeight = &quot;bold&quot;;&#xD;
                        arg.processDefault = true;</ClientEvent>
              <Property name="property">plateNum</Property>
              <Property name="align">center</Property>
              <Property name="width">150</Property>
            </DataColumn>
            <DataColumn name="customerName">
              <Property name="property">customerName</Property>
              <Property name="align">center</Property>
              <Property name="width">200</Property>
            </DataColumn>
            <DataColumn name="userName">
              <Property name="property">userName</Property>
              <Property name="width">150</Property>
              <Property name="align">center</Property>
            </DataColumn>
            <DataColumn name="foodVariety">
              <Property name="property">foodVariety</Property>
              <Property name="align">center</Property>
              <Property name="width">150</Property>
            </DataColumn>
            <DataColumn name="depotId">
              <ClientEvent name="onRenderCell">arg.dom.style.fontWeight = &quot;bold&quot;;&#xD;
                        arg.processDefault = true;</ClientEvent>
              <Property name="property">depotId</Property>
              <Property name="align">center</Property>
              <Property name="width">150</Property>
            </DataColumn>
            <DataColumn name="fullWeight">
              <Property name="property">fullWeight</Property>
              <Property name="caption">毛重</Property>
              <Property name="align">center</Property>
              <Property name="width">120</Property>
            </DataColumn>
            <DataColumn name="emptyWeight">
              <Property name="property">emptyWeight</Property>
              <Property name="caption">皮重</Property>
              <Property name="align">center</Property>
              <Property name="width">120</Property>
            </DataColumn>
            <DataColumn name="netWeight">
              <Property name="property">netWeight</Property>
              <Property name="align">center</Property>
              <Property name="caption">净重</Property>
              <Property name="width">120</Property>
            </DataColumn>
            <DataColumn>
              <Property name="property">deSum</Property>
              <Property name="align">center</Property>
              <Property name="caption">总扣重</Property>
              <Property name="name">deSum</Property>
              <Property name="width">120</Property>
            </DataColumn>
            <DataColumn name="settleWeight">
              <ClientEvent name="onRenderCell">arg.dom.style.fontWeight = &quot;bold&quot;;&#xD;
                        arg.processDefault = true;</ClientEvent>
              <Property name="property">settleWeight</Property>
              <Property name="align">center</Property>
              <Property name="width">120</Property>
            </DataColumn>
            <DataColumn>
              <Property name="property">price</Property>
              <Property name="align">center</Property>
              <Property name="width">150</Property>
              <Property name="name">price</Property>
            </DataColumn>
            <DataColumn name="completeTime">
              <Property name="property">completeTime</Property>
              <Property name="width">150</Property>
            </DataColumn>
          </DataGrid>
          <ToolBar layoutConstraint="bottom ">
            <Fill/>
            <DataPilot layoutConstraint="right">
              <Property name="itemCodes">pageSize,pages</Property>
              <Property name="dataSet">dsInoutRecord</Property>
            </DataPilot>
          </ToolBar>
          <Dialog id="dialogMain">
            <Property name="closeable">false</Property>
            <Property name="caption">表单信息</Property>
            <Property name="width">75%</Property>
            <Property name="iconClass">fa fa-tasks</Property>
            <Property name="showCaptionBar">true</Property>
            <Buttons>
              <Button>
                <ClientEvent name="onClick">var data = view.get(&quot;#dsInoutRecord.data:#&quot;);&#xD;
var settle = view.get(&quot;#dsSettle.data&quot;);&#xD;
&#xD;
if(settle.get(&quot;paySum&quot;) &lt;= 0){&#xD;
    $alert(&quot;结算金额&lt;= 0 ,不合规,请确认……&quot;);&#xD;
    return;&#xD;
}&#xD;
&#xD;
view.get(&quot;#ajaxSaveSettle&quot;).set(&quot;parameter&quot;,settle).execute(function(result){&#xD;
    if(result){&#xD;
        $alert(result);&#xD;
        return;&#xD;
    }else{&#xD;
        printSettle(data);&#xD;
    }&#xD;
});&#xD;
$notify(&quot;数据执行完成!!&quot;);&#xD;
self.get(&quot;parent&quot;).hide();&#xD;
query();</ClientEvent>
                <Property name="caption">结算并打印</Property>
                <Property name="iconClass">fa fa-print</Property>
                <Property name="exClassName">btn-default</Property>
                <Property name="hideMode">display</Property>
              </Button>
              <Button>
                <ClientEvent name="onClick">var data = view.get(&quot;#dsMain.data:#&quot;);&#xD;
var settle = view.get(&quot;#dsSettle.data&quot;);&#xD;
if(settle.get(&quot;paySum&quot;) &lt;= 0){&#xD;
    $alert(&quot;结算金额&lt;= 0 ,不合规,请确认……&quot;);&#xD;
    return;&#xD;
}&#xD;
view.get(&quot;#ajaxSaveSettle&quot;).set(&quot;parameter&quot;,settle).execute(function(result){&#xD;
    if(result){&#xD;
        $alert(result);&#xD;
        return;&#xD;
    }&#xD;
});&#xD;
$notify(&quot;数据执行完成!!&quot;);&#xD;
self.get(&quot;parent&quot;).hide();&#xD;
query();</ClientEvent>
                <Property name="caption">仅确认结算</Property>
                <Property name="iconClass">fa fa-check</Property>
                <Property name="exClassName">btn-normal</Property>
              </Button>
              <Button>
                <ClientEvent name="onClick">self.get(&quot;parent&quot;).hide();</ClientEvent>
                <Property name="caption">取消操作</Property>
                <Property name="iconClass">fa fa-times</Property>
                <Property name="exClassName">btn-warn</Property>
              </Button>
            </Buttons>
            <Children>
              <Container>
                <FieldSet layout="padding:2" layoutConstraint="padding:10px">
                  <Property name="caption">单据基本信息</Property>
                  <Buttons/>
                  <Children>
                    <AutoForm>
                      <Property name="dataSet">dsInoutRecord</Property>
                      <Property name="cols">*,*,*</Property>
                      <Property name="labelSeparator">:</Property>
                      <Property name="labelWidth">90</Property>
                      <Property name="labelAlign">right</Property>
                      <AutoFormElement>
                        <Property name="name">id</Property>
                        <Property name="property">id</Property>
                        <Property name="readOnly">true</Property>
                        <Editor/>
                      </AutoFormElement>
                      <AutoFormElement>
                        <Property name="name">userName</Property>
                        <Property name="property">userName</Property>
                        <Property name="readOnly">true</Property>
                        <Editor/>
                      </AutoFormElement>
                      <AutoFormElement>
                        <Property name="name">customerName</Property>
                        <Property name="property">customerName</Property>
                        <Property name="trigger">ddCustomer</Property>
                        <Property name="readOnly">true</Property>
                        <Editor/>
                      </AutoFormElement>
                      <AutoFormElement>
                        <Property name="name">depotId</Property>
                        <Property name="property">depotId</Property>
                        <Property name="readOnly">true</Property>
                        <Editor/>
                      </AutoFormElement>
                      <AutoFormElement>
                        <Property name="name">foodVariety</Property>
                        <Property name="property">foodVariety</Property>
                        <Property name="readOnly">true</Property>
                        <Editor/>
                      </AutoFormElement>
                      <AutoFormElement>
                        <Property name="name">foodLevel</Property>
                        <Property name="property">foodLevel</Property>
                        <Property name="readOnly">true</Property>
                        <Editor/>
                      </AutoFormElement>
                    </AutoForm>
                  </Children>
                </FieldSet>
                <FieldSet layout="padding:2" layoutConstraint="padding:10px">
                  <Property name="caption">结算称重信息(单位:KG)</Property>
                  <Buttons/>
                  <Children>
                    <AutoForm>
                      <Property name="dataSet">dsSettle</Property>
                      <Property name="cols">*,*,*</Property>
                      <Property name="labelAlign">right</Property>
                      <Property name="labelWidth">90</Property>
                      <Property name="labelSeparator">:</Property>
                      <AutoFormElement>
                        <ClientEvent name="onBlur">deAutoByWeight();&#xD;
                                            </ClientEvent>
                        <Property name="name">fullWeight</Property>
                        <Property name="property">fullWeight</Property>
                        <Property name="readOnly">true</Property>
                        <Editor/>
                      </AutoFormElement>
                      <AutoFormElement>
                        <ClientEvent name="onBlur">deAutoByWeight();</ClientEvent>
                        <Property name="name">emptyWeight</Property>
                        <Property name="property">emptyWeight</Property>
                        <Property name="readOnly">true</Property>
                        <Editor/>
                      </AutoFormElement>
                      <AutoFormElement>
                        <Property name="name">netWeight</Property>
                        <Property name="property">netWeight</Property>
                        <Property name="readOnly">true</Property>
                        <Editor/>
                      </AutoFormElement>
                      <AutoFormElement>
                        <Property name="name">deSum</Property>
                        <Property name="property">deSum</Property>
                        <Property name="readOnly">true</Property>
                        <Editor/>
                      </AutoFormElement>
                      <AutoFormElement>
                        <Property name="name">settleWeight</Property>
                        <Property name="property">settleWeight</Property>
                        <Property name="readOnly">true</Property>
                        <Editor/>
                      </AutoFormElement>
                      <AutoFormElement>
                        <Property name="name">completeTime</Property>
                        <Property name="property">completeTime</Property>
                        <Property name="readOnly">true</Property>
                        <Editor/>
                      </AutoFormElement>
                    </AutoForm>
                  </Children>
                </FieldSet>
                <FieldSet layout="padding:2" layoutConstraint="padding:10px">
                  <Property name="caption">结算费用信息</Property>
                  <Buttons/>
                  <Children>
                    <AutoForm>
                      <Property name="cols">*,*,*</Property>
                      <Property name="dataSet">dsSettle</Property>
                      <Property name="labelSeparator">:</Property>
                      <Property name="labelAlign">right</Property>
                      <Property name="labelWidth">90</Property>
                      <AutoFormElement>
                        <Property name="name">fullWeight</Property>
                        <Property name="property">fullWeight</Property>
                        <Property name="readOnly">true</Property>
                        <Property name="visible">false</Property>
                        <Property name="hideMode">display</Property>
                        <Editor/>
                      </AutoFormElement>
                      <AutoFormElement>
                        <Property name="name">emptyWeight</Property>
                        <Property name="property">emptyWeight</Property>
                        <Property name="readOnly">true</Property>
                        <Property name="visible">false</Property>
                        <Property name="hideMode">display</Property>
                        <Editor/>
                      </AutoFormElement>
                      <AutoFormElement>
                        <Property name="name">netWeight</Property>
                        <Property name="property">netWeight</Property>
                        <Property name="readOnly">true</Property>
                        <Property name="visible">false</Property>
                        <Property name="hideMode">display</Property>
                        <Editor/>
                      </AutoFormElement>
                      <AutoFormElement>
                        <Property name="name">deSum</Property>
                        <Property name="property">deSum</Property>
                        <Property name="readOnly">true</Property>
                        <Property name="visible">false</Property>
                        <Property name="hideMode">display</Property>
                        <Editor/>
                      </AutoFormElement>
                      <AutoFormElement>
                        <Property name="name">settleWeight</Property>
                        <Property name="property">settleWeight</Property>
                        <Property name="readOnly">true</Property>
                        <Property name="visible">false</Property>
                        <Property name="hideMode">display</Property>
                        <Editor/>
                      </AutoFormElement>
                      <AutoFormElement>
                        <Property name="name">customerName</Property>
                        <Property name="property">customerName</Property>
                        <Property name="readOnly">true</Property>
                        <Editor/>
                      </AutoFormElement>
                      <AutoFormElement>
                        <Property name="name">bank</Property>
                        <Property name="property">bank</Property>
                        <Property name="readOnly">false</Property>
                        <Editor/>
                      </AutoFormElement>
                      <AutoFormElement>
                        <Property name="name">payPrice</Property>
                        <Property name="property">payPrice</Property>
                        <Property name="readOnly">false</Property>
                        <Editor/>
                      </AutoFormElement>
                      <AutoFormElement>
                        <Property name="name">payType</Property>
                        <Property name="property">payType</Property>
                        <Editor/>
                      </AutoFormElement>
                      <AutoFormElement>
                        <Property name="name">bankNum</Property>
                        <Property name="property">bankNum</Property>
                        <Property name="readOnly">false</Property>
                        <Editor/>
                      </AutoFormElement>
                      <AutoFormElement>
                        <Property name="name">otherSum</Property>
                        <Property name="property">otherSum</Property>
                        <Editor/>
                      </AutoFormElement>
                      <AutoFormElement>
                        <Property name="name">payUser</Property>
                        <Property name="property">payUser</Property>
                        <Property name="editable">false</Property>
                        <Property name="readOnly">true</Property>
                        <Editor/>
                      </AutoFormElement>
                      <AutoFormElement>
                        <Property name="name">payTime</Property>
                        <Property name="property">payTime</Property>
                        <Property name="editable">false</Property>
                        <Property name="readOnly">true</Property>
                        <Editor/>
                      </AutoFormElement>
                      <AutoFormElement>
                        <Property name="name">paySum</Property>
                        <Property name="property">paySum</Property>
                        <Property name="readOnly">true</Property>
                        <Editor/>
                      </AutoFormElement>
                      <AutoFormElement layoutConstraint="colSpan:2">
                        <Property name="name">remarks</Property>
                        <Property name="property">remarks</Property>
                        <Property name="readOnly">false</Property>
                        <Property name="editorType">TextArea</Property>
                        <Editor/>
                      </AutoFormElement>
                      <Button>
                        <ClientEvent name="onClick">checkCount();</ClientEvent>
                        <Property name="caption">确认单价和总额</Property>
                        <Property name="iconClass">fa fa-jpy</Property>
                        <Property name="exClassName">btn-warm</Property>
                        <Property name="tip">只确认价格和总额,不执行保存</Property>
                        <Property name="style">
                          <Property name="margin-left">90px</Property>
                        </Property>
                      </Button>
                    </AutoForm>
                  </Children>
                </FieldSet>
              </Container>
            </Children>
            <Tools/>
          </Dialog>
        </Container>
      </ControlTab>
      <ControlTab>
        <ClientEvent name="onClick">view.get(&quot;#btnExcel&quot;).set(&quot;visible&quot;,true);</ClientEvent>
        <Property name="caption">已结算</Property>
        <Property name="iconClass">fa fa-jpy</Property>
        <Property name="width">150</Property>
        <Container layout="regionPadding:10" layoutConstraint="center">
          <Property name="exClassName">bg-color</Property>
          <DataSet id="dsSettleData">
            <Property name="pageSize">20</Property>
            <Property name="dataProvider">inoutSettlePR#pageSettleData</Property>
            <Property name="dataType">[dtInoutSettle]</Property>
          </DataSet>
          <DataGrid id="dataGridMain2" layoutConstraint="center">
            <ClientEvent name="onDataRowDoubleClick">settle2();</ClientEvent>
            <ClientEvent name="onDataRowClick">          </ClientEvent>
            <Property name="dataSet">dsSettleData</Property>
            <Property name="readOnly">true</Property>
            <Property name="dynaRowHeight">false</Property>
            <Property name="highlightSelectedRow">true</Property>
            <Property name="highlightCurrentRow">true</Property>
            <Property name="highlightHoverRow">true</Property>
            <RowNumColumn/>
            <DataColumn name="id">
              <ClientEvent name="onRenderCell">arg.dom.style.fontWeight = &quot;bold&quot;;&#xD;
arg.dom.style.color = &quot;#f67d06&quot;;&#xD;
arg.processDefault = true;</ClientEvent>
              <Property name="property">id</Property>
              <Property name="align">center</Property>
              <Property name="width">150</Property>
            </DataColumn>
            <DataColumn name="plateNum">
              <ClientEvent name="onRenderCell">arg.dom.style.fontWeight = &quot;bold&quot;;&#xD;
arg.processDefault = true;</ClientEvent>
              <Property name="property">plateNum</Property>
              <Property name="align">center</Property>
              <Property name="width">150</Property>
            </DataColumn>
            <DataColumn name="customerName">
              <Property name="property">customerName</Property>
              <Property name="align">center</Property>
              <Property name="width">200</Property>
            </DataColumn>
            <DataColumn name="userName">
              <Property name="property">userName</Property>
              <Property name="width">150</Property>
              <Property name="align">center</Property>
            </DataColumn>
            <DataColumn name="foodVariety">
              <Property name="property">foodVariety</Property>
              <Property name="align">center</Property>
              <Property name="width">120</Property>
            </DataColumn>
            <DataColumn name="depotId">
              <ClientEvent name="onRenderCell">arg.dom.style.fontWeight = &quot;bold&quot;;&#xD;
                        arg.processDefault = true;</ClientEvent>
              <Property name="property">depotId</Property>
              <Property name="align">center</Property>
              <Property name="width">150</Property>
            </DataColumn>
            <DataColumn name="paySum">
              <ClientEvent name="onRenderCell">arg.dom.style.fontWeight = &quot;bold&quot;;&#xD;
arg.dom.style.color = &quot;#f67d06&quot;;&#xD;
arg.processDefault = true;</ClientEvent>
              <Property name="property">paySum</Property>
              <Property name="width">150</Property>
              <Property name="align">center</Property>
            </DataColumn>
            <DataColumn name="payTime">
              <Property name="property">payTime</Property>
              <Property name="width">150</Property>
              <Property name="align">center</Property>
            </DataColumn>
            <DataColumn name="fullWeight">
              <Property name="property">fullWeight</Property>
              <Property name="caption">毛重</Property>
              <Property name="align">center</Property>
              <Property name="width">120</Property>
            </DataColumn>
            <DataColumn name="emptyWeight">
              <Property name="property">emptyWeight</Property>
              <Property name="caption">皮重</Property>
              <Property name="align">center</Property>
              <Property name="width">120</Property>
            </DataColumn>
            <DataColumn name="netWeight">
              <Property name="property">netWeight</Property>
              <Property name="align">center</Property>
              <Property name="caption">净重</Property>
              <Property name="width">120</Property>
            </DataColumn>
            <DataColumn>
              <Property name="property">deSum</Property>
              <Property name="align">center</Property>
              <Property name="caption">总扣重</Property>
              <Property name="name">deSum</Property>
              <Property name="width">120</Property>
            </DataColumn>
            <DataColumn name="settleWeight">
              <ClientEvent name="onRenderCell">arg.dom.style.fontWeight = &quot;bold&quot;;&#xD;
                        arg.processDefault = true;</ClientEvent>
              <Property name="property">settleWeight</Property>
              <Property name="align">center</Property>
              <Property name="width">120</Property>
            </DataColumn>
            <DataColumn name="payPrice">
              <Property name="property">payPrice</Property>
              <Property name="width">150</Property>
              <Property name="align">center</Property>
            </DataColumn>
          </DataGrid>
          <ToolBar layoutConstraint="bottom ">
            <Fill/>
            <DataPilot layoutConstraint="right">
              <Property name="itemCodes">pageSize,pages</Property>
              <Property name="dataSet">dsSettleData</Property>
            </DataPilot>
          </ToolBar>
          <Dialog id="dialogMain2">
            <Property name="closeable">false</Property>
            <Property name="caption">表单信息</Property>
            <Property name="width">75%</Property>
            <Property name="iconClass">fa fa-tasks</Property>
            <Property name="showCaptionBar">true</Property>
            <Buttons>
              <Button>
                <ClientEvent name="onClick">var data = view.get(&quot;#dsSettleData.data:#&quot;);&#xD;
printSettle2(data);</ClientEvent>
                <Property name="caption">打印结算单</Property>
                <Property name="iconClass">fa fa-print</Property>
                <Property name="exClassName">btn-default</Property>
                <Property name="hideMode">display</Property>
              </Button>
              <Button>
                <ClientEvent name="onClick">self.get(&quot;parent&quot;).hide();</ClientEvent>
                <Property name="caption">取消操作</Property>
                <Property name="iconClass">fa fa-times</Property>
                <Property name="exClassName">btn-warn</Property>
              </Button>
            </Buttons>
            <Children>
              <Container>
                <FieldSet layout="padding:2" layoutConstraint="padding:10px">
                  <Property name="caption">单据基本信息</Property>
                  <Buttons/>
                  <Children>
                    <AutoForm>
                      <Property name="dataSet">dsSettleData</Property>
                      <Property name="cols">*,*,*</Property>
                      <Property name="labelAlign">right</Property>
                      <Property name="labelWidth">90</Property>
                      <Property name="labelSeparator">:</Property>
                      <AutoFormElement>
                        <Property name="name">id</Property>
                        <Property name="property">id</Property>
                        <Property name="readOnly">true</Property>
                        <Editor/>
                      </AutoFormElement>
                      <AutoFormElement>
                        <Property name="name">userName</Property>
                        <Property name="property">userName</Property>
                        <Property name="readOnly">true</Property>
                        <Editor/>
                      </AutoFormElement>
                      <AutoFormElement>
                        <Property name="name">customerName</Property>
                        <Property name="property">customerName</Property>
                        <Property name="trigger">ddCustomer</Property>
                        <Property name="readOnly">true</Property>
                        <Editor/>
                      </AutoFormElement>
                      <AutoFormElement>
                        <Property name="name">depotId</Property>
                        <Property name="property">depotId</Property>
                        <Property name="readOnly">true</Property>
                        <Editor/>
                      </AutoFormElement>
                      <AutoFormElement>
                        <Property name="name">foodVariety</Property>
                        <Property name="property">foodVariety</Property>
                        <Property name="readOnly">true</Property>
                        <Editor/>
                      </AutoFormElement>
                      <AutoFormElement>
                        <Property name="name">foodLevel</Property>
                        <Property name="property">foodLevel</Property>
                        <Property name="readOnly">true</Property>
                        <Editor/>
                      </AutoFormElement>
                    </AutoForm>
                  </Children>
                </FieldSet>
                <FieldSet layout="padding:2" layoutConstraint="padding:10px">
                  <Property name="caption">结算称重信息(单位:KG)</Property>
                  <Buttons/>
                  <Children>
                    <AutoForm>
                      <Property name="dataSet">dsSettleData</Property>
                      <Property name="cols">*,*,*</Property>
                      <Property name="labelAlign">right</Property>
                      <Property name="labelWidth">90</Property>
                      <Property name="labelSeparator">:</Property>
                      <AutoFormElement>
                        <ClientEvent name="onBlur">                                 </ClientEvent>
                        <Property name="name">fullWeight</Property>
                        <Property name="property">fullWeight</Property>
                        <Property name="readOnly">true</Property>
                        <Editor/>
                      </AutoFormElement>
                      <AutoFormElement>
                        <Property name="name">emptyWeight</Property>
                        <Property name="property">emptyWeight</Property>
                        <Property name="readOnly">true</Property>
                        <Editor/>
                      </AutoFormElement>
                      <AutoFormElement>
                        <Property name="name">netWeight</Property>
                        <Property name="property">netWeight</Property>
                        <Property name="readOnly">true</Property>
                        <Editor/>
                      </AutoFormElement>
                      <AutoFormElement>
                        <Property name="name">deSum</Property>
                        <Property name="property">deSum</Property>
                        <Property name="readOnly">true</Property>
                        <Editor/>
                      </AutoFormElement>
                      <AutoFormElement>
                        <Property name="name">settleWeight</Property>
                        <Property name="property">settleWeight</Property>
                        <Property name="readOnly">true</Property>
                        <Editor/>
                      </AutoFormElement>
                      <AutoFormElement>
                        <Property name="name">completeTime</Property>
                        <Property name="property">completeTime</Property>
                        <Property name="readOnly">true</Property>
                        <Editor/>
                      </AutoFormElement>
                    </AutoForm>
                  </Children>
                </FieldSet>
                <FieldSet layout="padding:2" layoutConstraint="padding:10px">
                  <Property name="caption">结算费用信息</Property>
                  <Buttons/>
                  <Children>
                    <AutoForm>
                      <Property name="cols">*,*,*</Property>
                      <Property name="dataSet">dsSettleData</Property>
                      <Property name="labelSeparator">:</Property>
                      <Property name="labelAlign">right</Property>
                      <Property name="labelWidth">90</Property>
                      <Property name="readOnly">true</Property>
                      <AutoFormElement>
                        <Property name="name">fullWeight</Property>
                        <Property name="property">fullWeight</Property>
                        <Property name="readOnly">true</Property>
                        <Property name="visible">false</Property>
                        <Property name="hideMode">display</Property>
                        <Editor/>
                      </AutoFormElement>
                      <AutoFormElement>
                        <Property name="name">emptyWeight</Property>
                        <Property name="property">emptyWeight</Property>
                        <Property name="readOnly">true</Property>
                        <Property name="visible">false</Property>
                        <Property name="hideMode">display</Property>
                        <Editor/>
                      </AutoFormElement>
                      <AutoFormElement>
                        <Property name="name">netWeight</Property>
                        <Property name="property">netWeight</Property>
                        <Property name="readOnly">true</Property>
                        <Property name="visible">false</Property>
                        <Property name="hideMode">display</Property>
                        <Editor/>
                      </AutoFormElement>
                      <AutoFormElement>
                        <Property name="name">deSum</Property>
                        <Property name="property">deSum</Property>
                        <Property name="readOnly">true</Property>
                        <Property name="visible">false</Property>
                        <Property name="hideMode">display</Property>
                        <Editor/>
                      </AutoFormElement>
                      <AutoFormElement>
                        <Property name="name">settleWeight</Property>
                        <Property name="property">settleWeight</Property>
                        <Property name="readOnly">true</Property>
                        <Property name="visible">false</Property>
                        <Property name="hideMode">display</Property>
                        <Editor/>
                      </AutoFormElement>
                      <AutoFormElement>
                        <Property name="name">customerName</Property>
                        <Property name="property">customerName</Property>
                        <Property name="readOnly">true</Property>
                        <Editor/>
                      </AutoFormElement>
                      <AutoFormElement>
                        <Property name="name">bank</Property>
                        <Property name="property">bank</Property>
                        <Property name="readOnly">false</Property>
                        <Editor/>
                      </AutoFormElement>
                      <AutoFormElement>
                        <Property name="name">payPrice</Property>
                        <Property name="property">payPrice</Property>
                        <Property name="readOnly">false</Property>
                        <Editor/>
                      </AutoFormElement>
                      <AutoFormElement>
                        <Property name="name">payType</Property>
                        <Property name="property">payType</Property>
                        <Editor/>
                      </AutoFormElement>
                      <AutoFormElement>
                        <Property name="name">bankNum</Property>
                        <Property name="property">bankNum</Property>
                        <Property name="readOnly">false</Property>
                        <Editor/>
                      </AutoFormElement>
                      <AutoFormElement>
                        <Property name="name">otherSum</Property>
                        <Property name="property">otherSum</Property>
                        <Editor/>
                      </AutoFormElement>
                      <AutoFormElement>
                        <Property name="name">payUser</Property>
                        <Property name="property">payUser</Property>
                        <Property name="editable">false</Property>
                        <Property name="readOnly">true</Property>
                        <Editor/>
                      </AutoFormElement>
                      <AutoFormElement>
                        <Property name="name">payTime</Property>
                        <Property name="property">payTime</Property>
                        <Property name="editable">false</Property>
                        <Property name="readOnly">true</Property>
                        <Editor/>
                      </AutoFormElement>
                      <AutoFormElement>
                        <Property name="name">paySum</Property>
                        <Property name="property">paySum</Property>
                        <Property name="readOnly">true</Property>
                        <Editor/>
                      </AutoFormElement>
                      <AutoFormElement layoutConstraint="colSpan:2">
                        <Property name="name">remarks</Property>
                        <Property name="property">remarks</Property>
                        <Property name="readOnly">false</Property>
                        <Property name="editorType">TextArea</Property>
                        <Editor/>
                      </AutoFormElement>
                      <AutoFormElement>
                        <Property name="name">payTime</Property>
                        <Property name="property">payTime</Property>
                        <Property name="readOnly">true</Property>
                        <Editor/>
                      </AutoFormElement>
                    </AutoForm>
                  </Children>
                </FieldSet>
              </Container>
            </Children>
            <Tools/>
          </Dialog>
        </Container>
      </ControlTab>
    </TabControl>
    <AjaxAction id="ajaxPrint">
      <Property name="service">inoutSettlePR#printSettleBill</Property>
      <Property name="executingMessage">正在执行打印……</Property>
      <Property name="async">false</Property>
    </AjaxAction>
    <AjaxAction id="ajaxPrint2">
      <Property name="service">inoutSettlePR#printSettleBill2</Property>
      <Property name="executingMessage">正在执行打印……</Property>
      <Property name="async">false</Property>
    </AjaxAction>
    <AjaxAction id="ajaxGetDepot">
      <Property name="service">depotPR#getDepot</Property>
    </AjaxAction>
    <CustomDropDown id="ddCustomer">
      <Property name="minHeight">400</Property>
      <Property name="assignmentMap">customerId=id,customerName=name</Property>
      <Property name="minWidth">500</Property>
      <Property name="autoOpen">true</Property>
      <Container layout="regionPadding:5">
        <DataSet id="dsCustomer">
          <Property name="dataProvider">inoutCustomerPR#queryListByKey</Property>
          <Property name="dataType">[dtInoutCustomer]</Property>
          <Property name="parameter">
            <Entity>
              <Property name="type">${request.getParameter('type')}</Property>
            </Entity>
          </Property>
        </DataSet>
        <Container layout="hbox regionPadding:5">
          <TextEditor id="key">
            <Property name="blankText"> -- ç¼–码或者名称 --</Property>
            <Property name="width">200</Property>
          </TextEditor>
          <Button>
            <ClientEvent name="onClick">var key = view.get(&quot;#key.value&quot;);&#xD;
                            var type = &quot;${request.getParameter('type')}&quot;;&#xD;
                            view.get(&quot;#dsCustomer&quot;).set(&quot;parameter&quot;,{key:key,type:type}).flushAsync();</ClientEvent>
            <Property name="caption">查询</Property>
            <Property name="iconClass">fa fa-search</Property>
          </Button>
          <Button>
            <ClientEvent name="onClick">var data = view.get(&quot;#dsCustomer.data:#&quot;);&#xD;
                            if(data){&#xD;
                            view.get(&quot;#ddCustomer&quot;).close(data.toJSON());&#xD;
                            }</ClientEvent>
            <Property name="iconClass">fa fa-check</Property>
            <Property name="caption">确定</Property>
          </Button>
        </Container>
        <DataGrid>
          <ClientEvent name="onDataRowDoubleClick">var data = view.get(&quot;#dsCustomer.data:#&quot;);&#xD;
                        if(data){&#xD;
                        view.get(&quot;#ddCustomer&quot;).close(data.toJSON());&#xD;
                        }</ClientEvent>
          <Property name="dataSet">dsCustomer</Property>
          <Property name="readOnly">true</Property>
          <DataColumn name="id">
            <Property name="property">id</Property>
            <Property name="width">100</Property>
            <Property name="align">center</Property>
          </DataColumn>
          <DataColumn name="name">
            <ClientEvent name="onRenderCell">arg.dom.style.fontWeight = &quot;bold&quot;;&#xD;
                            arg.processDefault = true;</ClientEvent>
            <Property name="property">name</Property>
            <Property name="align">center</Property>
          </DataColumn>
        </DataGrid>
      </Container>
    </CustomDropDown>
    <AjaxAction id="ajaxSaveSettle">
      <Property name="service">inoutSettlePR#saveData</Property>
    </AjaxAction>
    <Export2ReportAction id="export2Pay">
      <Property name="dataScope">serverAll</Property>
      <Property name="dataFontSize">11</Property>
      <Property name="fileName">结算单</Property>
      <Property name="extension">xlsx</Property>
      <Property name="headerFontSize">12</Property>
      <Property name="titleName">导出结算单列表</Property>
      <Property name="template">dataGridMain2</Property>
      <Property name="showTitle">true</Property>
    </Export2ReportAction>
  </View>
</ViewConfig>
igds-inout/src/main/java/com/ld/igds/inout/view/InoutSettlePR.java
@@ -3,7 +3,9 @@
import java.util.ArrayList;
import java.util.List;
import com.bstek.bdf2.core.business.IUser;
import com.ld.igds.constant.Constant;
import com.ld.igds.inout.InoutConstant;
import com.ld.igds.inout.dto.InoutData;
import com.ld.igds.inout.dto.InoutParam;
import com.ld.igds.inout.manager.InoutReportManager;
@@ -11,6 +13,7 @@
import com.ld.igds.models.DicTrigger;
import com.ld.igds.models.InoutRecord;
import com.ld.igds.util.ContextUtil;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
@@ -22,6 +25,8 @@
import com.ld.igds.inout.service.HInoutSettleService;
import com.ld.igds.models.InoutSettle;
import javax.annotation.Resource;
/**
 * ç»“算管理
 *
@@ -30,13 +35,13 @@
@Component
public class InoutSettlePR {
    @Autowired
    @Resource
    private HInoutSettleService hSettleService;
    @Autowired
    @Resource
    private InoutReportManager inoutReportManager;
    @Autowired
    @Resource
    private InoutSettleServiceMapper inoutSettleServiceMapper;
    /**
@@ -52,6 +57,100 @@
        list.add(new DicTrigger(Constant.YN_Y, "已结算"));
        return list;
    }
    /**
     * ç»“算方式 0:现金,1:转账
     * ${dorado.getDataProvider("inoutSettlePR#triggerPayType").getResult()}
     *
     * @return
     */
    @DataProvider
    public List<DicTrigger> triggerPayType() {
        List<DicTrigger> list = new ArrayList<DicTrigger>();
        list.add(new DicTrigger("0", "现金"));
        list.add(new DicTrigger("1", "转账"));
        return list;
    }
    /**
     * å…¥åº“结算-合同结算
     * inoutSettlePR#pageSettleIn1
     *
     * @param param
     * @return
     * @throws Exception
     */
    @DataProvider
    public void pageSettleIn1(Page<InoutSettle> page, InoutParam param)throws Exception {
        if(null == param)param = new InoutParam();
        IUser u = ContextUtil.getLoginUser();
        param.setCompanyId(u.getCompanyId());
        if(null == param.getDeptId()){
            param.setDeptId(ContextUtil.subDeptId(u));
        }
        param.setSettleBizType("1");
        param.setType(InoutConstant.TYPE_IN);
        hSettleService.pageSettle(page, param);
    }
    /**
     * å…¥åº“结算-单车结算
     * inoutSettlePR#pageSettleIn0
     *
     * @param param
     * @return
     * @throws Exception
     */
    @DataProvider
    public void pageSettleIn0(Page<InoutSettle> page, InoutParam param)throws Exception {
        if(null == param)param = new InoutParam();
        IUser u = ContextUtil.getLoginUser();
        param.setCompanyId(u.getCompanyId());
        if(null == param.getDeptId()){
            param.setDeptId(ContextUtil.subDeptId(u));
        }
        param.setSettleBizType("0");
        param.setType(InoutConstant.TYPE_IN);
        hSettleService.pageSettle(page, param);
    }
    /**
     * å‡ºåº“结算-合同结算
     * inoutSettlePR#pageSettleOut1
     *
     * @param param
     * @return
     * @throws Exception
     */
    @DataProvider
    public void pageSettleOut1(Page<InoutSettle> page, InoutParam param)throws Exception {
        IUser u = ContextUtil.getLoginUser();
        param.setCompanyId(u.getCompanyId());
        if(null == param.getDeptId()){
            param.setDeptId(ContextUtil.subDeptId(u));
        }
        param.setSettleBizType("1");
        param.setType(InoutConstant.TYPE_OUT);
        hSettleService.pageSettle(page, param);
    }
    /**
     * inoutSettlePR#pageInoutRecord
@@ -63,7 +162,6 @@
    @DataProvider
    public void pageInoutRecord(Page<InoutRecord> page, InoutParam param)
            throws Exception {
        param.setSettleTag(Constant.YN_N);
        hSettleService.pageIoutRecord(page, param);
    }
igds-inout/src/main/java/com/ld/igds/m/view/AppointPR.java
@@ -19,7 +19,9 @@
import com.ld.igds.util.DateUtil;
import com.ld.igds.warn.data.MsgResponse;
import com.ld.igds.wechat.WeChatUtils;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
@@ -36,6 +38,7 @@
 */
@Slf4j
@Component
@SuppressWarnings("rawtypes")
public class AppointPR {
    @Autowired
@@ -157,6 +160,7 @@
     *
     * @return
     */
    @Expose
    public String pushCustomer() {
igds-inout/src/main/java/com/ld/igds/models/InoutSettle.java
@@ -18,7 +18,7 @@
    @Id
    @Column(name = "ID_", length = 40)
    @PropertyDef(label = "流水号")
    @PropertyDef(label = "流水号",description = "结算日期(yyyyMMdd)+4位顺序号组成")
    private String id;
    @Column(name = "COMPANY_ID_", length = 10)
@@ -34,13 +34,12 @@
    private String inoutType;
    @Column(name = "BIZ_TYPE_")
    @PropertyDef(label = "处理方式", description = "单车结算/合同结算")
    @PropertyDef(label = "处理方式", description = "0=单车结算/1=合同结算")
    private String bizType;
    @Column(name = "DEPOT_ID_", length = 50)
    @PropertyDef(label = "所属仓库")
    private String depotId;
    @Column(name = "CONTRACT_ID_", length = 40)
    @PropertyDef(label = "合同编码", description = "针对轮换粮食必填")
@@ -55,9 +54,9 @@
    @PropertyDef(label = "单价")
    private Double payPrice = 0.0;
    @Column(name = "PAY_SUM_")
    @Column(name = "PAY_MONEY_")
    @PropertyDef(label = "结算总额")
    private Double paySum = 0.0;
    private Double payMoney = 0.0;
    @Column(name = "SETTLE_WEIGHT_")
    @PropertyDef(label = "结算重量")
@@ -79,12 +78,20 @@
    @PropertyDef(label = "收款人省份证号")
    private String payeeId;
    @Column(name = "BANK_", length = 40)
    @PropertyDef(label = "开户行")
    @Column(name = "BANK_CATEGORY_", length = 10)
    @PropertyDef(label = "银行行别代码")
    private String bankCategory;
    @Column(name = "BANK_CODE_", length = 20)
    @PropertyDef(label = "开户行号")
    private String bankCode;
    @Column(name = "BANK_", length = 50)
    @PropertyDef(label = "开户行名称")
    private String bank;
    @Column(name = "BANK_NUM_", length = 20)
    @PropertyDef(label = "银行卡号")
    @PropertyDef(label = "银行账号")
    private String bankNum;
    @Column(name = "PAY_UNIT_", length = 50)
igds-inout/src/main/java/models/inout.model.xml
@@ -453,24 +453,70 @@
      <Property></Property>
      <Property name="label">组织编码</Property>
    </PropertyDef>
    <PropertyDef name="deptId">
      <Property></Property>
      <Property name="label">库区编码</Property>
    </PropertyDef>
    <PropertyDef name="inoutType">
      <Property></Property>
      <Property name="label">出入库类型</Property>
    </PropertyDef>
    <PropertyDef name="bizType">
      <Property></Property>
      <Property name="label">处理方式</Property>
    </PropertyDef>
    <PropertyDef name="depotId">
      <Property></Property>
      <Property name="label">所属仓库</Property>
      <Property name="mapping">
        <Property name="mapValues">${dorado.getDataProvider(&quot;depotPR#getAllCache&quot;).getResult()}</Property>
        <Property name="keyProperty">id</Property>
        <Property name="valueProperty">name</Property>
      </Property>
    </PropertyDef>
    <PropertyDef name="contractId">
      <Property></Property>
      <Property name="label">合同编码</Property>
    </PropertyDef>
    <PropertyDef name="contractName">
      <Property></Property>
      <Property name="label">合同名称</Property>
    </PropertyDef>
    <PropertyDef name="payPrice">
      <Property name="dataType">Double</Property>
      <Property name="label">粮食单价</Property>
      <Property name="displayFormat">0.000 å…ƒ/公斤</Property>
    </PropertyDef>
    <PropertyDef name="paySum">
    <PropertyDef name="payMoney">
      <Property name="dataType">Double</Property>
      <Property name="label">结算总额</Property>
      <Property name="displayFormat">ï¿¥0.00</Property>
    </PropertyDef>
    <PropertyDef name="settleWeight">
      <Property name="dataType">Double</Property>
      <Property name="label">结算重量</Property>
      <Property name="displayFormat">0 KG</Property>
    </PropertyDef>
    <PropertyDef name="payTime">
      <Property name="dataType">DateTime</Property>
      <Property name="label">结算时间</Property>
    </PropertyDef>
    <PropertyDef name="payType">
      <Property></Property>
      <Property name="label">付款方式</Property>
      <Property name="label">结算方式</Property>
      <Property name="mapping">
        <Property name="mapValues">${dorado.getDataProvider(&quot;dicTriggerPR#dicTrigger&quot;).getResult(&quot;PAY_TYPE&quot;)}</Property>
        <Property name="mapValues">${dorado.getDataProvider(&quot;inoutSettlePR#triggerPayType&quot;).getResult()}</Property>
        <Property name="keyProperty">code</Property>
        <Property name="valueProperty">name</Property>
      </Property>
    </PropertyDef>
    <PropertyDef name="payee">
      <Property></Property>
      <Property name="label">收款人</Property>
    </PropertyDef>
    <PropertyDef name="payeeId">
      <Property></Property>
      <Property name="label">收款人省份证号</Property>
    </PropertyDef>
    <PropertyDef name="bank">
      <Property></Property>
@@ -480,60 +526,29 @@
      <Property></Property>
      <Property name="label">银行卡号</Property>
    </PropertyDef>
    <PropertyDef name="payUnit">
      <Property></Property>
      <Property name="label">付款单位</Property>
    </PropertyDef>
    <PropertyDef name="payUser">
      <Property></Property>
      <Property name="label">结算人</Property>
    </PropertyDef>
    <PropertyDef name="payTime">
      <Property name="dataType">DateTime</Property>
      <Property name="label">结算时间</Property>
    </PropertyDef>
    <PropertyDef name="settleWeight">
      <Property name="dataType">Double</Property>
      <Property name="label">结算重量</Property>
      <Property name="displayFormat">0 KG</Property>
    </PropertyDef>
    <PropertyDef name="fullWeight">
      <Property name="dataType">Double</Property>
      <Property name="label">毛重</Property>
      <Property name="displayFormat">0 KG</Property>
    </PropertyDef>
    <PropertyDef name="emptyWeight">
      <Property name="dataType">Double</Property>
      <Property name="label">皮重</Property>
      <Property name="displayFormat">0 KG</Property>
    </PropertyDef>
    <PropertyDef name="netWeight">
      <Property name="dataType">Double</Property>
      <Property name="label">净重</Property>
      <Property name="displayFormat">0 KG</Property>
    </PropertyDef>
    <PropertyDef name="deSum">
      <Property name="dataType">Double</Property>
      <Property name="label">总扣重</Property>
      <Property name="displayFormat">0 KG</Property>
    </PropertyDef>
    <PropertyDef name="type">
      <Property></Property>
      <Property name="label">出入库类型</Property>
    </PropertyDef>
    <PropertyDef name="customerId">
      <Property></Property>
      <Property name="label">客户编码</Property>
    </PropertyDef>
    <PropertyDef name="customerName">
      <Property></Property>
      <Property name="label">客户名称</Property>
    </PropertyDef>
    <PropertyDef name="otherSum">
      <Property></Property>
      <Property name="label">其他扣费</Property>
      <Property name="dataType">Double</Property>
      <Property name="displayFormat">ï¿¥0.00</Property>
    </PropertyDef>
    <PropertyDef name="remarks">
      <Property></Property>
      <Property name="label">备注信息</Property>
    </PropertyDef>
    <PropertyDef name="updateTime">
      <Property name="dataType">Date</Property>
      <Property name="label">数据更新时间</Property>
    </PropertyDef>
    <PropertyDef name="bankCategory">
      <Property/>
      <Property name="label">银行行别代码</Property>
    </PropertyDef>
    <PropertyDef name="bankCode">
      <Property/>
      <Property name="label">开户行号</Property>
    </PropertyDef>
  </DataType>
  <DataType name="dtNoticeDto">
@@ -594,10 +609,10 @@
      <Property name="dataType">Date</Property>
    </PropertyDef>
    <PropertyDef name="unitName">
      <Property/>
      <Property></Property>
    </PropertyDef>
    <PropertyDef name="contractName">
      <Property/>
      <Property></Property>
      <Property name="label">所属合同</Property>
    </PropertyDef>
  </DataType>
igds-manager/src/main/java/com/ld/igds/oa/view/DocumentPR.java
@@ -1,6 +1,5 @@
package com.ld.igds.oa.view;
import com.bstek.bdf2.core.model.DefaultDept;
import com.bstek.dorado.annotation.DataProvider;
import com.bstek.dorado.annotation.DataResolver;
import com.bstek.dorado.annotation.Expose;
@@ -9,10 +8,6 @@
import com.ld.igds.models.*;
import com.ld.igds.oa.service.HDocumentServiceImpl;
import com.ld.igds.sys.service.SysDeptService;
import com.ld.igds.util.ContextUtil;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.apache.commons.lang3.time.DateFormatUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import java.util.*;
@@ -24,7 +19,6 @@
 * @date 2023-02-17 16:50
 *
 */
@Slf4j
@Component
public class DocumentPR {
igds-parent-pom/pom.xml
@@ -345,6 +345,7 @@
            <id>sonatype</id>
            <url>https://oss.sonatype.org/content/groups/public/</url>
        </repository>
        <repository>
            <id>bsdn-maven-repository</id>
            <url>http://nexus.bsdn.org/content/groups/public/</url>
igds-protocol-bhzn/src/main/java/com/ld/igds/protocol/bhzn/inout/BHZNWeightServiceImpl.java
@@ -189,28 +189,6 @@
    }
    /**
     * å¢žåŠ ç™½åå• --调用子线程实现
     *
     * @param param deviceId和actionCode ä¸å¯ä¸ºç©º
     * @return
     */
    public String addWhitePlate(ApiInoutData param) {
        return "SUCCESS";
    }
    /**
     * åˆ é™¤ç™½åå•---调用子线程实现
     *
     * @param param
     * @return
     */
    public String delWhitePlate(ApiInoutData param) {
        return "SUCCESS";
    }
    /**
     * @param param
igds-protocol-modbus/pom.xml
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,113 @@
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <groupId>com.ld.igds</groupId>
    <artifactId>igds-protocol-modbus</artifactId>
    <version>4.0.0-RELEASE</version>
    <packaging>jar</packaging>
    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <java.version>1.8</java.version>
        <igds.version>4.0.0-RELEASE</igds.version>
    </properties>
    <dependencies>
        <!-- å¼•å…¥IO包 -->
        <dependency>
            <groupId>com.ld.base.io</groupId>
            <artifactId>base-io-netty</artifactId>
            <version>1.0.0-SNAPSHOT</version>
        </dependency>
        <!-- å¼•入义务核心包 -->
        <dependency>
            <groupId>com.ld.igds</groupId>
            <artifactId>igds-core</artifactId>
            <version>${igds.version}</version>
        </dependency>
        <!-- å¼•入通风 -->
        <dependency>
            <groupId>com.ld.igds</groupId>
            <artifactId>igds-verb</artifactId>
            <version>${igds.version}</version>
        </dependency>
        <!-- å¼•入能耗包 -->
        <dependency>
            <groupId>com.ld.igds</groupId>
            <artifactId>igds-es</artifactId>
            <version>${igds.version}</version>
        </dependency>
        <!-- modbus
        <dependency>
            <groupId>com.infiniteautomation</groupId>
            <artifactId>modbus4j</artifactId>
            <version>3.1.0</version>
        </dependency>
        -->
        <!-- modbus -->
        <dependency>
            <groupId>com.infiniteautomation</groupId>
            <artifactId>modbus4j</artifactId>
            <version>3.1.0</version>
            <scope>system</scope>
            <systemPath>${project.basedir}/src/main/resources/lib/modbus4j-3.1.0.jar</systemPath>
        </dependency>
    </dependencies>
     <build>
         <plugins>
             <plugin>
                 <groupId>org.apache.maven.plugins</groupId>
                 <artifactId>maven-compiler-plugin</artifactId>
                 <configuration>
                     <source>1.8</source>
                     <target>1.8</target>
                     <compilerArguments>
                         <extdirs>src\main\webapp\WEB-INF\lib</extdirs>
                     </compilerArguments>
                 </configuration>
             </plugin>
         </plugins>
     </build>
<!--    <repositories>-->
<!--        <repository>-->
<!--            <releases>-->
<!--                <enabled>false</enabled>-->
<!--            </releases>-->
<!--            <snapshots>-->
<!--                <enabled>true</enabled>-->
<!--            </snapshots>-->
<!--            <id>ias-snapshots</id>-->
<!--            <name>Infinite Automation Snapshot Repository</name>-->
<!--            <url>https://maven.mangoautomation.net/repository/ias-snapshot/</url>-->
<!--        </repository>-->
<!--        <repository>-->
<!--            <releases>-->
<!--                <enabled>true</enabled>-->
<!--            </releases>-->
<!--            <snapshots>-->
<!--                <enabled>false</enabled>-->
<!--            </snapshots>-->
<!--            <id>ias-releases</id>-->
<!--            <name>Infinite Automation Release Repository</name>-->
<!--            <url>https://maven.mangoautomation.net/repository/ias-release/</url>-->
<!--        </repository>-->
<!--    </repositories>-->
</project>
igds-protocol-modbus/src/main/java/com/ld/igds/protocol/modbus/command/RemoteControlServiceImpl.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,58 @@
package com.ld.igds.protocol.modbus.command;
import com.ld.igds.io.RemoteControlService;
import com.ld.igds.io.request.DeviceAutoControlRequest;
import com.ld.igds.io.request.DeviceControlRequest;
import com.ld.igds.io.request.TempControlRequest;
import com.ld.igds.io.response.DeviceControlResponse;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Component;
/**
 * å½“前协议针对标准Modbus-TCP协议
 *
 * @Desc:
 * @author: andy.jia
 * @update-time: 2023/8/11 10:07
 */
@Slf4j
@Component(RemoteControlServiceImpl.BEAN_ID)
public class RemoteControlServiceImpl implements RemoteControlService {
    public static final String BEAN_ID = "modbus.remoteControlService";
    @Override
    public String getProtocol() {
        return null;
    }
    @Override
    public DeviceControlResponse deviceControl(DeviceControlRequest request) {
        return null;
    }
    @Override
    public DeviceControlResponse closeAll(DeviceControlRequest request) {
        return null;
    }
    @Override
    public DeviceControlResponse queryStatus(DeviceControlRequest request) {
        return null;
    }
    @Override
    public DeviceControlResponse tempControl(TempControlRequest request) {
        return null;
    }
    @Override
    public DeviceControlResponse airAutoControl(DeviceAutoControlRequest request) {
        return null;
    }
    @Override
    public DeviceControlResponse n2AutoControl(DeviceAutoControlRequest request) {
        return null;
    }
}
igds-protocol-modbus/src/main/java/com/ld/igds/protocol/modbus/command/RemoteEsServiceImpl.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,31 @@
package com.ld.igds.protocol.modbus.command;
import com.ld.igds.io.RemoteEsService;
import com.ld.igds.io.request.BaseRequest;
import com.ld.igds.io.response.BaseResponse;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Component;
/**
 * å½“前协议针对标准Modbus-TCP协议
 *
 * @Desc:
 * @author: andy.jia
 * @update-time: 2023/8/11 10:07
 */
@Slf4j
@Component(RemoteEsServiceImpl.BEAN_ID)
public class RemoteEsServiceImpl implements RemoteEsService {
    public static final String BEAN_ID = "modbus.remoteEsService";
    @Override
    public String getProtocol() {
        return null;
    }
    @Override
    public BaseResponse checkEs(BaseRequest request) {
        return null;
    }
}
igds-protocol-modbus/src/main/java/com/ld/igds/protocol/modbus/command/RemoteGasServiceImpl.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,41 @@
package com.ld.igds.protocol.modbus.command;
import com.ld.igds.io.RemoteGasService;
import com.ld.igds.io.request.CheckGasRequest;
import com.ld.igds.io.response.GasResponse;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Component;
/**
 * å½“前协议针对标准Modbus-TCP协议
 *
 * @Desc:
 * @author: andy.jia
 * @update-time: 2023/8/11 10:07
 */
@Slf4j
@Component(RemoteGasServiceImpl.BEAN_ID)
public class RemoteGasServiceImpl implements RemoteGasService {
    public static final String BEAN_ID = "modbus.remoteGasService";
    @Override
    public String getProtocol() {
        return null;
    }
    @Override
    public GasResponse checkGas(CheckGasRequest request) {
        return null;
    }
    @Override
    public GasResponse checkGasByPoint(CheckGasRequest request) {
        return null;
    }
    @Override
    public GasResponse stopCheckGas(CheckGasRequest request) {
        return null;
    }
}
igds-protocol-modbus/src/main/java/com/ld/igds/protocol/modbus/command/RemotePestServiceImpl.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,42 @@
package com.ld.igds.protocol.modbus.command;
import com.ld.igds.io.RemotePestService;
import com.ld.igds.io.request.CheckPestRequest;
import com.ld.igds.io.response.PestResponse;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Component;
/**
 * å½“前协议针对标准Modbus-TCP协议
 *
 * @Desc:
 * @author: andy.jia
 * @update-time: 2023/8/11 10:07
 */
@Slf4j
@Component(RemotePestServiceImpl.BEAN_ID)
public class RemotePestServiceImpl implements RemotePestService {
    public static final String BEAN_ID = "modbus.remotePestService";
    @Override
    public String getProtocol() {
        return null;
    }
    @Override
    public PestResponse checkPest(CheckPestRequest request) {
        return null;
    }
    @Override
    public PestResponse checkPestByPoint(CheckPestRequest request) {
        return null;
    }
    @Override
    public PestResponse stopCheckPest(CheckPestRequest request) {
        return null;
    }
}
igds-protocol-modbus/src/main/java/com/ld/igds/protocol/modbus/command/RemotePressureServiceImpl.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,31 @@
package com.ld.igds.protocol.modbus.command;
import com.ld.igds.io.RemotePressureService;
import com.ld.igds.io.request.BaseRequest;
import com.ld.igds.io.response.BaseResponse;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Component;
/**
 * å½“前协议针对标准Modbus-TCP协议
 *
 * @Desc:
 * @author: andy.jia
 * @update-time: 2023/8/11 10:07
 */
@Slf4j
@Component(RemotePressureServiceImpl.BEAN_ID)
public class RemotePressureServiceImpl implements RemotePressureService {
    public static final String BEAN_ID = "modbus.remotePressureService";
    @Override
    public String getProtocol() {
        return null;
    }
    @Override
    public BaseResponse checkPressure(BaseRequest request) {
        return null;
    }
}
igds-protocol-modbus/src/main/java/com/ld/igds/protocol/package-info.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1 @@
package com.ld.igds.protocol;
igds-protocol-modbus/src/main/resources/lib/modbus4j-3.1.0.jar
Binary files differ
igds-web/pom.xml
@@ -220,7 +220,7 @@
            </exclusions>
        </dependency>-->
        <!--  æµ·åº·è½¦ç‰Œè¯†åˆ«-SDK -->
        <!--  æµ·åº·è½¦ç‰Œè¯†åˆ«-SDK
        <dependency>
            <groupId>com.ld.igds</groupId>
            <artifactId>igds-protocol-sdk</artifactId>
@@ -236,7 +236,10 @@
                </exclusion>
            </exclusions>
        </dependency>
        -->
    </dependencies>
    <dependencyManagement>
        <dependencies>
pom.xml
@@ -47,6 +47,9 @@
        <!--SKD协议包-->
        <module>igds-protocol-sdk</module>
        <!--modbus-tcp-->
        <module>igds-protocol-modbus</module>
        <!--    æ‰‹æœºåŒ…    -->
        <module>igds-api-phone</module>
        <!--    æŽ¥å£åŒ…,包括三维接口    -->