jiazx0107@163.com
2023-06-25 34e3301ff24f10100dae8c9b4b98cafef1b6a653
出入库流程优化-入库详单优化
已修改6个文件
已添加1个文件
688 ■■■■ 文件已修改
igds-core/src/main/java/com/ld/igds/check/CheckStandardPR.java 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
igds-inout/src/main/java/com/ld/igds/inout/manager/InoutManager.java 27 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
igds-inout/src/main/java/com/ld/igds/inout/view/InoutDataPR.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
igds-inout/src/main/java/com/ld/igds/inout/view/InoutHand.js 81 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
igds-inout/src/main/java/com/ld/igds/inout/view/InoutHand.view.xml 410 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
igds-inout/src/main/java/com/ld/igds/inout/view/InoutList.js 41 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
igds-inout/src/main/java/com/ld/igds/inout/view/InoutList.view.xml 115 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
igds-core/src/main/java/com/ld/igds/check/CheckStandardPR.java
@@ -88,18 +88,6 @@
    }
//    /*=============== åŒ–验报表打印相关 ===============*/
//    /**
//     * checkStandardPR#pageReportCheckData åˆ†é¡µèŽ·å–å‡ºå…¥åº“çš„åŒ–éªŒå•æ®æŠ¥è¡¨ä¿¡æ¯
//     *
//     * @param page
//     * @param param
//     */
//    @DataProvider
//    public void pageReportCheckData(Page<ReportInoutCheckData> page, Map<String, Object> param) {
//        jdbcInoutCheckService.pageReportCheckData(page, param);
//    }
    /**
     * checkStandardPR#getQuery æ ¹æ®æŠ¥è¡¨ç±»åž‹ï¼ŒèŽ·å–é»˜è®¤æŸ¥è¯¢ä¿¡æ¯ï¼Œæ¯”å¦‚è¡¨å¤´ä¿¡æ¯ç­‰
     *
igds-inout/src/main/java/com/ld/igds/inout/manager/InoutManager.java
@@ -383,7 +383,7 @@
    public String addInoutData(InoutData data) throws Exception {
        if (data.getSettleWeight() <= 0.0) {
            return "补单数据要求结算重量必须大于0";
            return "系统:补单数据要求结算重量必须大于0";
        }
        // è¡¥å•数据直接到结果状态
@@ -415,30 +415,19 @@
            data.setCheckUser(loginUser);
        }
        // ä¿å­˜æ£€æµ‹é¡¹ç›®
        if (InoutConstant.TYPE_IN.equals(data.getType())) {
        if (InoutConstant.TYPE_IN.equals(data.getType())) {
            if (null == data.getFullWeightTime()) {
                data.setFullWeightTime(DateUtil.getNewByMinute(new Date(), -50));
            }
            if (null == data.getEmptyWeightTime()) {
                data.setEmptyWeightTime(DateUtil
                        .getNewByMinute(new Date(), -10));
                data.setEmptyWeightTime(DateUtil.getNewByMinute(new Date(), -10));
            }
            // å…ˆæ‰§è¡ŒåŒ–验信息保存
            CheckUpdateResult checkResult = checkStandardManager
                    .updateCheckItems(data.getCheckId(), data.getCompanyId(),
                            data.getCheckItems());
            if (null != checkResult) {
                // if (null == data.getWet())data.setWet(checkResult.getWet());
                // if (null ==
                // data.getImpurity())data.setImpurity(checkResult.getImpurity());
            }
            data = this.updateCheckItems(data);
        } else {
            if (null == data.getEmptyWeightTime()) {
                data.setEmptyWeightTime(DateUtil
                        .getNewByMinute(new Date(), -50));
                data.setEmptyWeightTime(DateUtil.getNewByMinute(new Date(), -50));
            }
            if (null == data.getFullWeightTime()) {
                data.setFullWeightTime(DateUtil.getNewByMinute(new Date(), -10));
@@ -446,9 +435,7 @@
        }
        // æ·»åŠ è¡¥å•æ•°æ®
        String msg = inoutService.insertData(data);
        return msg;
        return inoutService.insertData(data);
    }
    /**
@@ -474,7 +461,7 @@
        if (InoutConstant.TYPE_IN.equals(data.getType())) {
            data = updateCheckItems(data);
        }
        return inoutService.updateData(data);
    }
igds-inout/src/main/java/com/ld/igds/inout/view/InoutDataPR.java
@@ -204,9 +204,7 @@
        InoutData data = new InoutData();
        data.setCompanyId(user.getCompanyId());
        data.setRegisterTime(new Date());
        data.setCompleteTime(new Date());
        data.setType(type);
        data.setIntelCard("0000");
        data.setRegisterUser(user.getCname());
        data.setDeptId(ContextUtil.subDeptId(user));
        data.setCheckUser(user.getCname());
igds-inout/src/main/java/com/ld/igds/inout/view/InoutHand.js
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,81 @@
/**
 * æ‰“印出库过磅单
 */
printBill = function(htmlStr) {
    var LODOP = CLODOP;
    LODOP.PRINT_INIT("称重单");
    LODOP.SET_PRINT_PAGESIZE(1,2100,1400, "A4");
    LODOP.ADD_PRINT_HTM(0, 0, "100%", "100%", htmlStr);
    LODOP.PREVIEW();
};
print5016Bill = function(htmlStr) {
    var LODOP = CLODOP;
    LODOP.PRINT_INIT("称重单");
    LODOP.SET_PRINT_PAGESIZE(1, 1050, 1400, "");
    LODOP.ADD_PRINT_HTM(0, 0, "100%", "100%", htmlStr);
    LODOP.PREVIEW();
};
//打印扦样单
printCheck = function(){
    $alert("打印模版未定义……");
};
//打印称重单
printWeight = function(){
    var data = view.get("#dsMain.data");
    if(!data) return;
    var companyId = data.get("companyId");
    console.log(companyId);
    view.get("#ajaxPrint").set("parameter",data).execute(function(result){
        if(companyId && companyId == "5016"){
            print5016Bill(result);
        }else {
            printBill(result);
        }
    });
};
/**
 * è‡ªåŠ¨è®¡ç®—
 * @param name
 */
deAutoByWeight = function(name){
    if(null == name) name = "1";
    var curData = view.get("#dsMain.data:#");
    var fullWeight = curData.get("fullWeight");
    var emptyWeight = curData.get("emptyWeight");
    if(fullWeight == 0 || emptyWeight == 0){
        return;
    }
    // å‡€é‡
    var netWeight = Number(fullWeight) - Number(emptyWeight);
    if (netWeight <= 0){
        $notify("净重小于0,当前称重存在逻辑问题");
        return;
    }
     //扣重信息
    var deHandle = curData.get("deHandle"), deCheck = curData.get("deCheck"), dePackage = curData.get("dePackage"), addCheck = curData.get("addCheck");
    var deSum = Number(deHandle) +  Number(deCheck) + Number(dePackage);
    /** å…¥åº“重量 = å‡€é‡ - æ€»æ‰£é‡  */
    recordWeight = Number(netWeight) - Number(deSum);
    /** ç»“算重量 = å‡€é‡ - æ€»æ‰£é‡ + å¢žé‡ */
    settleWeight = Number(netWeight) - Number(deSum) + Number(addCheck);
    curData.set("netWeight",netWeight);
    curData.set("settleWeight",settleWeight);
    curData.set("recordWeight",recordWeight);
};
igds-inout/src/main/java/com/ld/igds/inout/view/InoutHand.view.xml
@@ -4,11 +4,7 @@
  <Context/>
  <Model>
    <DataType name="dtMain" parent="dtInoutRecord">
      <ClientEvent name="onDataChange">if(arg.property ==&quot;depotId&quot;){&#xD;
    autoByDepot(arg.newValue);&#xD;
}&#xD;
&#xD;
if(arg.property ==&quot;foodVariety&quot;){&#xD;
      <ClientEvent name="onDataChange">if(arg.property ==&quot;foodVariety&quot;){&#xD;
    var entity = arg.entity;&#xD;
    entity.reset(&quot;checkItems&quot;);&#xD;
}</ClientEvent>
@@ -32,10 +28,9 @@
          <Entity>
            <Property name="checkId">$${this.checkId}</Property>
            <Property name="foodVariety">$${this.foodVariety}</Property>
            <Property name="deptId">$${this.deptId}</Property>
          </Entity>
        </Property>
        <Property name="dataProvider">checkStandardPR#listCheckItemsByCheckId</Property>
        <Property name="dataProvider">checkStandardPR#listCheckItemsByParam</Property>
        <Property name="dataType">[dtCheckItems]</Property>
      </Reference>
    </DataType>
@@ -117,19 +112,6 @@
  <View layout="padding:5;regionPadding:5">
    <ClientEvent name="onReady">var TYPE = &quot;${request.getParameter('type')}&quot;;&#xD;
&#xD;
//类型切换&#xD;
if(&quot;OUT&quot; == TYPE){&#xD;
    view.get(&quot;#columnDeSum&quot;).set(&quot;visible&quot;,false);&#xD;
    //view.get(&quot;#label1&quot;).set(&quot;text&quot;,&quot;注:出库水分增重记入结算重量&quot;);&#xD;
    &#xD;
    view.get(&quot;#dataGridCheckItem&quot;).set(&quot;visible&quot;,false);&#xD;
    &#xD;
    view.get(&quot;#deWet&quot;).set(&quot;label&quot;,&quot;水分增重&quot;);&#xD;
}else{&#xD;
    view.get(&quot;#deWet&quot;).set(&quot;label&quot;,&quot;水分扣重&quot;);&#xD;
    view.get(&quot;#dataGridCheckItem&quot;).set(&quot;visible&quot;,true);&#xD;
}&#xD;
&#xD;
/**&#xD;
 * åˆ·æ–°é¡µé¢&#xD;
 */&#xD;
@@ -137,11 +119,8 @@
    view.get(&quot;#btnSave&quot;).set(&quot;disabled&quot;,false);&#xD;
    view.get(&quot;#btnPrintWeigh&quot;).set(&quot;disabled&quot;,true);&#xD;
    view.get(&quot;#btnPrintCheck&quot;).set(&quot;disabled&quot;,true);&#xD;
    &#xD;
    view.get(&quot;#dsMain&quot;).set(&quot;parameter&quot;,TYPE).flushAsync();&#xD;
};&#xD;
&#xD;
&#xD;
flush();&#xD;
&#xD;
/**&#xD;
@@ -158,7 +137,6 @@
        $alert(&quot;数据验证失败,【基础信息】-结算重量必须大于0!&quot;);&#xD;
        return;&#xD;
    }&#xD;
    &#xD;
    view.get(&quot;#uaSave&quot;).execute(function(result){&#xD;
        if(result){&#xD;
            $alert(&quot;保存失败:&quot;+result);&#xD;
@@ -169,61 +147,7 @@
            $alert(&quot;保存成功,可以进行打印和重新提新表单!&quot;);&#xD;
        }&#xD;
    });&#xD;
}&#xD;
&#xD;
/**&#xD;
 * æ‰“印出库过磅单&#xD;
 */&#xD;
printBill = function(htmlStr) {&#xD;
    var LODOP = CLODOP;&#xD;
    LODOP.PRINT_INIT(&quot;称重单&quot;);&#xD;
    LODOP.SET_PRINT_PAGESIZE(1,2100,1400, &quot;A4&quot;);&#xD;
    //LODOP.SET_PRINT_PAGESIZE(1, 0, '90mm', &quot;A4&quot;);&#xD;
    LODOP.ADD_PRINT_HTM(0, 0, &quot;100%&quot;, &quot;100%&quot;, htmlStr);&#xD;
    LODOP.PREVIEW();&#xD;
};&#xD;
&#xD;
print5016Bill = function(htmlStr) {&#xD;
    var LODOP = CLODOP;&#xD;
    LODOP.PRINT_INIT(&quot;称重单&quot;);&#xD;
    LODOP.SET_PRINT_PAGESIZE(1, 1050, 1400, &quot;&quot;);&#xD;
    LODOP.ADD_PRINT_HTM(0, 0, &quot;100%&quot;, &quot;100%&quot;, htmlStr);&#xD;
    LODOP.PREVIEW();&#xD;
};&#xD;
&#xD;
//打印扦样单&#xD;
printCheck = function(){&#xD;
    $alert(&quot;打印模版未定义……&quot;);&#xD;
};&#xD;
&#xD;
//打印称重单&#xD;
printWeight = function(){&#xD;
    var data = view.get(&quot;#dsMain.data&quot;);&#xD;
    if(!data) return;&#xD;
    var companyId = data.get(&quot;companyId&quot;);&#xD;
    console.log(companyId);&#xD;
    view.get(&quot;#ajaxPrint&quot;).set(&quot;parameter&quot;,data).execute(function(result){&#xD;
        if(companyId &amp;&amp; companyId == &quot;5016&quot;){&#xD;
            print5016Bill(result);&#xD;
        }else {&#xD;
            printBill(result);&#xD;
        }&#xD;
    });&#xD;
};&#xD;
&#xD;
//根据仓库自动回填粮食品种,登记,产地新&#xD;
autoByDepot = function(depotId){&#xD;
    view.get(&quot;#ajaxGetDepot&quot;).set(&quot;parameter&quot;,depotId).execute(function(result){&#xD;
        if(result){&#xD;
            //console.log(result);&#xD;
            var data = view.get(&quot;#dsMain.data:#&quot;);&#xD;
            data.set(&quot;foodLocation&quot;,result.foodLocation);&#xD;
            data.set(&quot;foodLevel&quot;,result.foodLevel);&#xD;
            data.set(&quot;foodVariety&quot;,result.foodVariety);&#xD;
            data.set(&quot;foodYear&quot;,result.foodYear);&#xD;
        }&#xD;
    });&#xD;
};</ClientEvent>
}</ClientEvent>
    <ClientEvent name="onCreate">&#xD;
/**&#xD;
 * è‡ªåŠ¨è®¡ç®—ï¼Œå½“å‰é¡µé¢ä¸è‡ªåŠ¨å…³è”æ‰¦æ ·è®°å½•ï¼Œå…¨éƒ¨ç”±æ‰‹åŠ¨ä¸ºå‡†&#xD;
@@ -372,12 +296,12 @@
      <Button id="btnSave" layoutConstraint="left">
        <ClientEvent name="onClick">save();</ClientEvent>
        <Property name="caption">数据提交</Property>
        <Property name="exClassName">btn-default</Property>
        <Property name="exClassName">btn-normal</Property>
        <Property name="iconClass">fa fa-plus</Property>
      </Button>
      <Button id="btnPrintCheck" layoutConstraint="left">
        <ClientEvent name="onClick">printCheck();</ClientEvent>
        <Property name="caption">打印抽样单</Property>
        <Property name="caption">打印质检单</Property>
        <Property name="exClassName">btn-default</Property>
        <Property name="iconClass">fa fa-print</Property>
        <Property name="tip">保存数据后可用</Property>
@@ -405,7 +329,7 @@
        <Property name="width">150</Property>
        <Property name="name">tabCommon</Property>
        <Container>
          <FieldSet layout="regionPadding:10" layoutConstraint="padding:10">
          <FieldSet layout="regionPadding:5" layoutConstraint="padding:10">
            <Property name="caption">基本信息</Property>
            <Buttons/>
            <Children>
@@ -434,6 +358,13 @@
                  <Property name="name">userContact</Property>
                  <Property name="property">userContact</Property>
                  <Property name="label">联系电话</Property>
                  <Editor/>
                </AutoFormElement>
                <AutoFormElement>
                  <Property name="label">客户名称</Property>
                  <Property name="property">customerName</Property>
                  <Property name="editable">false</Property>
                  <Property name="trigger">ddNotice</Property>
                  <Editor/>
                </AutoFormElement>
                <AutoFormElement>
@@ -472,12 +403,6 @@
                  <Editor/>
                </AutoFormElement>
                <AutoFormElement>
                  <Property name="name">foodLocation</Property>
                  <Property name="property">foodLocation</Property>
                  <Property name="trigger">ddFoodOrigin</Property>
                  <Editor/>
                </AutoFormElement>
                <AutoFormElement>
                  <Property name="name">foodLevel</Property>
                  <Property name="property">foodLevel</Property>
                  <Editor/>
@@ -489,28 +414,26 @@
                  <Editor/>
                </AutoFormElement>
                <AutoFormElement>
                  <Property name="name">noticeName</Property>
                  <Property name="property">noticeName</Property>
                  <Property name="trigger">ddNotice</Property>
                  <Property name="editable">false</Property>
                  <Property name="label">入库通知单</Property>
                  <Property name="name">registerTime</Property>
                  <Property name="property">registerTime</Property>
                  <Editor/>
                </AutoFormElement>
                <AutoFormElement>
                  <Property name="name">registerTime</Property>
                  <Property name="property">registerTime</Property>
                  <Property name="name">foodLocation</Property>
                  <Property name="property">foodLocation</Property>
                  <Property name="trigger">ddDicArea</Property>
                  <Editor/>
                </AutoFormElement>
              </AutoForm>
            </Children>
          </FieldSet>
          <FieldSet layout="regionPadding:10" layoutConstraint="padding:10">
          <FieldSet layout="regionPadding:5" layoutConstraint="padding:10">
            <Property name="caption">称重信息(单位:KG)</Property>
            <Buttons/>
            <Children>
              <AutoForm>
                <Property name="dataSet">dsMain</Property>
                <Property name="cols">*,*,*,*,*,*</Property>
                <Property name="cols">*,50,*,50,*,50</Property>
                <Property name="labelAlign">right</Property>
                <Property name="labelWidth">100</Property>
                <Property name="labelSeparator">:</Property>
@@ -524,6 +447,17 @@
                  <Editor/>
                </AutoFormElement>
                <AutoFormElement layoutConstraint="colSpan:2">
                  <Property name="name">emptyWeightTime</Property>
                  <Property name="property">emptyWeightTime</Property>
                  <Editor/>
                </AutoFormElement>
                <AutoFormElement layoutConstraint="colSpan:2">
                  <Property name="name">fullWeightUser</Property>
                  <Property name="property">fullWeightUser</Property>
                  <Property name="label">称重人</Property>
                  <Editor/>
                </AutoFormElement>
                <AutoFormElement layoutConstraint="colSpan:2">
                  <ClientEvent name="onBlur">//id è§„则 d_prop&#xD;
var id = self.getDom().id;&#xD;
var prop = id.substring(2,id.length);&#xD;
@@ -534,50 +468,14 @@
                  <Editor/>
                </AutoFormElement>
                <AutoFormElement layoutConstraint="colSpan:2">
                  <Property name="name">netWeight</Property>
                  <Property name="property">netWeight</Property>
                  <Property name="readOnly">true</Property>
                  <Property name="name">fullWeightTime</Property>
                  <Property name="property">fullWeightTime</Property>
                  <Editor/>
                </AutoFormElement>
                <AutoFormElement>
                  <ClientEvent name="onBlur">//id è§„则 d_prop&#xD;
var id = self.getDom().id;&#xD;
var prop = id.substring(2,id.length);&#xD;
deAutoByWeight(prop);</ClientEvent>
                  <Property name="name">deImpurity</Property>
                  <Property name="property">deImpurity</Property>
                  <Property name="showHint">false</Property>
                <AutoFormElement layoutConstraint="colSpan:2">
                  <Property name="name">completeTime</Property>
                  <Property name="property">completeTime</Property>
                  <Editor/>
                </AutoFormElement>
                <AutoFormElement>
                  <Property name="name">impurity</Property>
                  <Property name="property">impurity</Property>
                  <Property name="showLabel">false</Property>
                  <Editor>
                    <TextEditor>
                      <Property name="blankText"> -- % --</Property>
                    </TextEditor>
                  </Editor>
                </AutoFormElement>
                <AutoFormElement id="deWet">
                  <ClientEvent name="onBlur">//id è§„则 d_prop&#xD;
var id = self.getDom().id;&#xD;
var prop = id.substring(2,id.length);&#xD;
deAutoByWeight(prop);</ClientEvent>
                  <Property name="name">deWet</Property>
                  <Property name="property">deWet</Property>
                  <Property name="showHint">false</Property>
                  <Editor/>
                </AutoFormElement>
                <AutoFormElement>
                  <Property name="name">wet</Property>
                  <Property name="property">wet</Property>
                  <Property name="showLabel">false</Property>
                  <Editor>
                    <TextEditor>
                      <Property name="blankText"> -- % --</Property>
                    </TextEditor>
                  </Editor>
                </AutoFormElement>
                <AutoFormElement layoutConstraint="colSpan:2">
                  <ClientEvent name="onBlur">//id è§„则 d_prop&#xD;
@@ -586,6 +484,7 @@
deAutoByWeight(prop);</ClientEvent>
                  <Property name="name">deHandle</Property>
                  <Property name="property">deHandle</Property>
                  <Property name="label">现场扣重</Property>
                  <Editor/>
                </AutoFormElement>
                <AutoFormElement layoutConstraint="colSpan:2">
@@ -598,8 +497,39 @@
                  <Editor/>
                </AutoFormElement>
                <AutoFormElement layoutConstraint="colSpan:2">
                  <Property name="name">deSum</Property>
                  <Property name="property">deSum</Property>
                  <Property name="name">deOtherInfo</Property>
                  <Property name="property">deOtherInfo</Property>
                  <Property name="label">其他原因</Property>
                  <Editor/>
                </AutoFormElement>
                <AutoFormElement layoutConstraint="colSpan:2">
                  <ClientEvent name="onBlur">//id è§„则 d_prop&#xD;
var id = self.getDom().id;&#xD;
var prop = id.substring(2,id.length);&#xD;
deAutoByWeight(prop);</ClientEvent>
                  <Property name="name">deCheck</Property>
                  <Property name="property">deCheck</Property>
                  <Editor/>
                </AutoFormElement>
                <AutoFormElement layoutConstraint="colSpan:2">
                  <ClientEvent name="onBlur">//id è§„则 d_prop&#xD;
var id = self.getDom().id;&#xD;
var prop = id.substring(2,id.length);&#xD;
deAutoByWeight(prop);</ClientEvent>
                  <Property name="name">addCheck</Property>
                  <Property name="property">addCheck</Property>
                  <Editor/>
                </AutoFormElement>
                <Label layoutConstraint="colSpan:2">
                  <Property name="style">
                    <Property name="color">blue</Property>
                    <Property name="padding-left">80px</Property>
                  </Property>
                  <Property name="text">说明:质检增扣重请查看质检信息栏位详细</Property>
                </Label>
                <AutoFormElement layoutConstraint="colSpan:2">
                  <Property name="name">netWeight</Property>
                  <Property name="property">netWeight</Property>
                  <Property name="readOnly">true</Property>
                  <Editor/>
                </AutoFormElement>
@@ -610,45 +540,88 @@
                  <Editor/>
                </AutoFormElement>
                <AutoFormElement layoutConstraint="colSpan:2">
                  <Property name="name">completeTime</Property>
                  <Property name="property">completeTime</Property>
                  <Property name="name">recordWeight</Property>
                  <Property name="property">recordWeight</Property>
                  <Property name="readOnly">true</Property>
                  <Editor/>
                </AutoFormElement>
                <AutoFormElement layoutConstraint="colSpan:2">
                  <Property name="name">fullWeightTime</Property>
                  <Property name="property">fullWeightTime</Property>
                  <Editor/>
                </AutoFormElement>
                <AutoFormElement layoutConstraint="colSpan:2">
                  <Property name="name">emptyWeightTime</Property>
                  <Property name="property">emptyWeightTime</Property>
                  <Editor/>
                </AutoFormElement>
                <Label layoutConstraint="colSpan:6">
                  <Property name="style">
                    <Property name="color">blue</Property>
                    <Property name="padding-left">80px</Property>
                  </Property>
                  <Property name="text">说明:结算重量 = å‡€é‡ - æ‰£é‡ + å¢žé‡ï¼›æ‰£æ°´æ‚:正数=扣重,负数=增重</Property>
                </Label>
              </AutoForm>
            </Children>
          </FieldSet>
          <FieldSet layout="regionPadding:10" layoutConstraint="padding:10">
            <Property name="caption">备注说明</Property>
          <FieldSet layout="regionPadding:5" layoutConstraint="padding:10">
            <Property name="caption">其他需要补充信息</Property>
            <Buttons/>
            <Children>
              <AutoForm>
                <Property name="dataSet">dsMain</Property>
                <Property name="cols">*,*</Property>
                <Property name="cols">*,*,*</Property>
                <Property name="labelAlign">right</Property>
                <Property name="labelSeparator">:</Property>
                <Property name="labelWidth">100</Property>
                <AutoFormElement layoutConstraint="colSpan:2">
                <AutoFormElement>
                  <Property name="name">jjlx</Property>
                  <Property name="property">jjlx</Property>
                  <Editor>
                    <RadioGroup>
                      <RadioButton>
                        <Property name="text">称重入库</Property>
                        <Property name="value">0</Property>
                      </RadioButton>
                      <RadioButton>
                        <Property name="value">1</Property>
                        <Property name="text">标准包入库</Property>
                      </RadioButton>
                    </RadioGroup>
                  </Editor>
                </AutoFormElement>
                <AutoFormElement>
                  <Property name="name">bzw</Property>
                  <Property name="property">bzw</Property>
                  <Editor>
                    <RadioGroup>
                      <RadioButton>
                        <Property name="text">麻袋</Property>
                        <Property name="value">1</Property>
                      </RadioButton>
                      <RadioButton>
                        <Property name="text">编织袋</Property>
                        <Property name="value">2</Property>
                      </RadioButton>
                      <RadioButton>
                        <Property name="text">散装</Property>
                        <Property name="value">3</Property>
                      </RadioButton>
                      <RadioButton>
                        <Property name="value">9</Property>
                        <Property name="text">其他</Property>
                      </RadioButton>
                    </RadioGroup>
                  </Editor>
                </AutoFormElement>
                <AutoFormElement>
                  <Property name="name">dbz</Property>
                  <Property name="property">dbz</Property>
                  <Editor/>
                </AutoFormElement>
                <AutoFormElement>
                  <Property name="name">bzbjs</Property>
                  <Property name="property">bzbjs</Property>
                  <Editor/>
                </AutoFormElement>
                <AutoFormElement>
                  <Property name="name">dePackage</Property>
                  <Property name="property">dePackage</Property>
                  <Editor/>
                </AutoFormElement>
                <AutoFormElement>
                  <Property name="name">price</Property>
                  <Property name="property">price</Property>
                  <Editor/>
                </AutoFormElement>
                <AutoFormElement layoutConstraint="colSpan:3">
                  <Property name="name">remarks</Property>
                  <Property name="property">remarks</Property>
                  <Property name="editorType">TextArea</Property>
                  <Property name="showLabel">false</Property>
                  <Editor/>
                </AutoFormElement>
              </AutoForm>
@@ -664,7 +637,7 @@
        <Container layout="padding:10">
          <AutoForm>
            <Property name="dataSet">dsMain</Property>
            <Property name="cols">*,*,*,*</Property>
            <Property name="cols">*,*,*</Property>
            <Property name="labelAlign">right</Property>
            <Property name="labelWidth">100</Property>
            <Property name="labelSeparator">:</Property>
@@ -705,19 +678,14 @@
              <Property name="label">化验结果</Property>
              <Editor/>
            </AutoFormElement>
            <AutoFormElement>
              <Property name="name">checkTime</Property>
              <Property name="property">checkTime</Property>
              <Property name="label">质检时间</Property>
              <Editor/>
            </AutoFormElement>
          </AutoForm>
          <DataGrid id="dataGridCheckItem" layoutConstraint="padding:10">
            <ClientEvent name="onCellValueEdit">//实现化验项目调整,更新主表中值&#xD;
var entity = arg.entity;&#xD;
var inoutData = view.get(&quot;#dsMain.data:#&quot;);&#xD;
&#xD;
if(entity.get(&quot;standardId&quot;) ==&quot;C01&quot;){//水分&#xD;
    inoutData.set(&quot;wet&quot;,entity.get(&quot;value&quot;));&#xD;
}&#xD;
&#xD;
if(entity.get(&quot;standardId&quot;) ==&quot;C02&quot;){//雜志&#xD;
    inoutData.set(&quot;impurity&quot;,entity.get(&quot;value&quot;));&#xD;
}</ClientEvent>
            <Property name="dataSet">dsMain</Property>
            <Property name="dataPath">#.checkItems</Property>
            <Property name="highlightCurrentRow">false</Property>
@@ -752,53 +720,68 @@
        </Container>
      </ControlTab>
    </TabControl>
    <CustomDropDown id="ddFoodOrigin">
    <YearDropDown id="yearDropDown"/>
    <UpdateAction id="uaSave">
      <Property name="dataResolver">inoutDataPR#saveInoutData</Property>
      <Property name="confirmMessage">确定要提交么?</Property>
      <UpdateItem>
        <Property name="dataSet">dsMain</Property>
        <Property name="dataPath">[#current]</Property>
        <Property name="validateData">false</Property>
      </UpdateItem>
    </UpdateAction>
    <AjaxAction id="ajaxPrint">
      <Property name="service">inoutDataPR#printWeightBill</Property>
      <Property name="executingMessage">正在执行打印……</Property>
      <Property name="async">false</Property>
    </AjaxAction>
    <CustomDropDown id="ddDicArea">
      <Property name="minHeight">500</Property>
      <Property name="assignmentMap">foodLocation=name</Property>
      <Property name="minWidth">500</Property>
      <Property name="assignmentMap">foodLocation=name,foodLocationId=code</Property>
      <Container layout="regionPadding:5">
        <DataSet id="dsFoodOrigin">
          <Property name="dataProvider">dicTriggerPR#pagFoodLocationData</Property>
          <Property name="dataType">[dtFoodOrigin]</Property>
        <DataSet id="dsDicArea">
          <Property name="dataProvider">dicAreaPR#pageList</Property>
          <Property name="parameter"></Property>
          <Property name="pageSize">30</Property>
          <Property name="dataType">[dtArea]</Property>
          <Property name="pageSize">1000</Property>
        </DataSet>
        <Container layout="hbox regionPadding:5">
          <TextEditor id="key2">
            <Property name="blankText"> -- ç¼–码或者名称 --</Property>
            <Property name="blankText"> -名称或简拼,北京市  bjs -</Property>
            <Property name="width">200</Property>
          </TextEditor>
          <Button>
            <ClientEvent name="onClick">var key = view.get(&quot;#key2.value&quot;);&#xD;
view.get(&quot;#dsFoodOrigin&quot;).set(&quot;parameter&quot;,{key:key}).flushAsync();</ClientEvent>
view.get(&quot;#dsDicArea&quot;).set(&quot;parameter&quot;,{key:key}).flushAsync();</ClientEvent>
            <Property name="caption">查询</Property>
            <Property name="iconClass">fa fa-search</Property>
          </Button>
          <Button>
            <ClientEvent name="onClick">var data = view.get(&quot;#dsFoodOrigin.data:#&quot;);&#xD;
            <ClientEvent name="onClick">var data = view.get(&quot;#dsDicArea.data:#&quot;);&#xD;
if(data){&#xD;
    view.get(&quot;#ddFoodOrigin&quot;).close(data.toJSON());&#xD;
    view.get(&quot;#ddDicArea&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;#dsFoodOrigin.data:#&quot;);&#xD;
          <ClientEvent name="onDataRowDoubleClick">var data = view.get(&quot;#dsDicArea.data:#&quot;);&#xD;
if(data){&#xD;
    view.get(&quot;#ddFoodOrigin&quot;).close(data.toJSON());&#xD;
    view.get(&quot;#ddDicArea&quot;).close(data.toJSON());&#xD;
}</ClientEvent>
          <Property name="dataSet">dsFoodOrigin</Property>
          <Property name="dataSet">dsDicArea</Property>
          <Property name="readOnly">true</Property>
          <DataColumn name="code">
            <Property name="property">code</Property>
            <Property name="readOnly">true</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="readOnly">true</Property>
            <Property name="align">center</Property>
          </DataColumn>
          <DataColumn name="code">
            <Property name="property">code</Property>
            <Property name="readOnly">true</Property>
            <Property name="align">center</Property>
          </DataColumn>
@@ -809,13 +792,13 @@
          </DataColumn>
        </DataGrid>
        <DataPilot layoutConstraint="bottom">
          <Property name="dataSet">dsFoodOrigin</Property>
          <Property name="dataSet">dsDicArea</Property>
        </DataPilot>
      </Container>
    </CustomDropDown>
    <CustomDropDown id="ddNotice">
      <Property name="minHeight">400</Property>
      <Property name="assignmentMap">noticeId=id,noticeName=name,customerId=customerId,customerName=customerName</Property>
      <Property name="assignmentMap">noticeId=id,customerName=customerName</Property>
      <Property name="minWidth">500</Property>
      <Property name="autoOpen">true</Property>
      <Container layout="regionPadding:5">
@@ -836,18 +819,14 @@
          <Button>
            <ClientEvent name="onClick">var key = view.get(&quot;#key3.value&quot;);&#xD;
var type = &quot;${request.getParameter('type')}&quot;;&#xD;
//var customerId = view.get(&quot;#dataGridMain.currentEntity&quot;).get(&quot;customerId&quot;);&#xD;
//var depotId = view.get(&quot;#dataGridMain.currentEntity&quot;).get(&quot;depotId&quot;);&#xD;
//var foodVariety = view.get(&quot;#dataGridMain.currentEntity&quot;).get(&quot;foodVariety&quot;);&#xD;
//view.get(&quot;#dsNotice&quot;).set(&quot;parameter&quot;,{key:key,type:type,customerId:customerId,depotId:depotId,foodVariety:foodVariety}).flushAsync();&#xD;
view.get(&quot;#dsNotice&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;
            <ClientEvent name="onClick">var data = view.get(&quot;#dsNotice.data:#&quot;);&#xD;
if(data){&#xD;
    view.get(&quot;#ddCustomer&quot;).close(data.toJSON());&#xD;
    view.get(&quot;#ddNotice&quot;).close(data.toJSON());&#xD;
}</ClientEvent>
            <Property name="iconClass">fa fa-check</Property>
            <Property name="caption">确定</Property>
@@ -860,39 +839,16 @@
}</ClientEvent>
          <Property name="dataSet">dsNotice</Property>
          <Property name="readOnly">true</Property>
          <DataColumn name="name">
            <Property name="property">name</Property>
          </DataColumn>
          <DataColumn>
            <Property name="property">customerName</Property>
            <Property name="align">center</Property>
            <Property name="name">customerName</Property>
          </DataColumn>
          <DataColumn name="id">
            <Property name="property">id</Property>
            <Property name="align">center</Property>
            <Property name="visible">false</Property>
          <DataColumn name="name">
            <Property name="property">name</Property>
          </DataColumn>
        </DataGrid>
      </Container>
    </CustomDropDown>
    <YearDropDown id="yearDropDown"/>
    <UpdateAction id="uaSave">
      <Property name="dataResolver">inoutDataPR#saveInoutData</Property>
      <Property name="confirmMessage">确定要提交么?</Property>
      <UpdateItem>
        <Property name="dataSet">dsMain</Property>
        <Property name="dataPath">[#current]</Property>
        <Property name="validateData">false</Property>
      </UpdateItem>
    </UpdateAction>
    <AjaxAction id="ajaxGetDepot">
      <Property name="service">depotPR#getDepot</Property>
    </AjaxAction>
    <AjaxAction id="ajaxPrint">
      <Property name="service">inoutDataPR#printWeightBill</Property>
      <Property name="executingMessage">正在执行打印……</Property>
      <Property name="async">false</Property>
    </AjaxAction>
  </View>
</ViewConfig>
igds-inout/src/main/java/com/ld/igds/inout/view/InoutList.js
@@ -86,4 +86,45 @@
//打印结算单
printPay = function(){
    $alert("打印模版未定义……");
};
/**
 * è‡ªåŠ¨è®¡ç®—
 * @param name
 */
deAutoByWeight = function(name){
    if(null == name) name = "1";
    var curData = view.get("#dsMain.data:#");
    var fullWeight = curData.get("fullWeight");
    var emptyWeight = curData.get("emptyWeight");
    if(fullWeight == 0 || emptyWeight == 0){
        return;
    }
    // å‡€é‡
    var netWeight = Number(fullWeight) - Number(emptyWeight);
    if (netWeight <= 0){
        $notify("净重小于0,当前称重存在逻辑问题");
        return;
    }
     //扣重信息
    var deHandle = curData.get("deHandle"), deCheck = curData.get("deCheck"), dePackage = curData.get("dePackage"), addCheck = curData.get("addCheck");
    var deSum = Number(deHandle) +  Number(deCheck) + Number(dePackage);
    /** å…¥åº“重量 = å‡€é‡ - æ€»æ‰£é‡  */
    recordWeight = Number(netWeight) - Number(deSum);
    /** ç»“算重量 = å‡€é‡ - æ€»æ‰£é‡ + å¢žé‡ */
    settleWeight = Number(netWeight) - Number(deSum) + Number(addCheck);
    curData.set("netWeight",netWeight);
    curData.set("settleWeight",settleWeight);
    curData.set("recordWeight",recordWeight);
};
igds-inout/src/main/java/com/ld/igds/inout/view/InoutList.view.xml
@@ -222,7 +222,6 @@
edit = function(){&#xD;
    var data = view.get(&quot;#dataGridMain.currentEntity&quot;);&#xD;
    if(!data) return;&#xD;
    &#xD;
    if (&quot;RECORD&quot; == data.get(&quot;progress&quot;)) {&#xD;
        view.get(&quot;#btnOK&quot;).set(&quot;visible&quot;,true);&#xD;
    }else{&#xD;
@@ -334,110 +333,6 @@
   });&#xD;
};&#xD;
</ClientEvent>
    <ClientEvent name="onCreate">&#xD;
/**&#xD;
 * è‡ªåŠ¨è®¡ç®—ï¼Œå½“å‰é¡µé¢ä¸è‡ªåŠ¨å…³è”æ‰¦æ ·è®°å½•ï¼Œå…¨éƒ¨ç”±æ‰‹åŠ¨ä¸ºå‡†&#xD;
 * &#xD;
 * 1.净重 = æ¯›é‡ - çš®é‡&#xD;
 * 2.总扣重 = çŽ°åœºæ‰£é‡ + å…¶ä»–扣重 + æ‰£æ°´æ‚è´¨&#xD;
 * 3.结算重量 = å‡€é‡ - æ€»æ‰£é‡ ï¼ˆå«æ°´æ‚增重)&#xD;
 * 4.出/入库重量 = å‡€é‡ - æ€»æ‰£é‡ ï¼ˆä¸å«æ°´æ‚增重)&#xD;
 * &#xD;
 * 5.入库时:扣水杂 æ­£æ•° = æ‰£é‡ï¼Œè´Ÿæ•° = å¢žé‡&#xD;
 * 6.出库时:水分增重,正数=增重,负数=扣重&#xD;
 */&#xD;
deAutoByWeight = function(name){&#xD;
    &#xD;
    if(null == name) name = &quot;1&quot;;&#xD;
    &#xD;
    var curData = view.get(&quot;#dsMain.data:#&quot;);&#xD;
    var fullWeight = curData.get(&quot;fullWeight&quot;);&#xD;
    var emptyWeight = curData.get(&quot;emptyWeight&quot;);&#xD;
    &#xD;
    if(fullWeight == 0 || emptyWeight == 0){&#xD;
        return;&#xD;
    }&#xD;
    // å‡€é‡&#xD;
    var netWeight = Number(fullWeight) - Number(emptyWeight);&#xD;
    &#xD;
    if (netWeight &lt;= 0){&#xD;
        $notify(&quot;净重小于0,当前称重存在逻辑问题&quot;);&#xD;
        return;&#xD;
    }&#xD;
    &#xD;
     //汇总结果&#xD;
    var deSum = 0, addSum = 0, settleWeight = 0, recordWeight = 0;&#xD;
    //扣水杂&#xD;
    var deWet = 0;&#xD;
    &#xD;
    var impurity = 0;&#xD;
    &#xD;
    &#xD;
     var deBase = 0, multiple = 0;&#xD;
     var checkItems = curData.get(&quot;checkItems&quot;);&#xD;
&#xD;
    /** æ€»æ‰£é‡ï¼Œä¸å«å¢žé‡*/&#xD;
    deSum = Number(curData.get(&quot;deOther&quot;)) + Number(curData.get(&quot;deHandle&quot;));&#xD;
    &#xD;
    //出库&#xD;
    if (&quot;OUT&quot; == curData.get(&quot;type&quot;)) {&#xD;
        if (Number(deWet) > 0) {//增重&#xD;
            addSum = addSum + Number(deWet);&#xD;
        } else {&#xD;
            deSum = deSum + Number(deWet);&#xD;
        }&#xD;
&#xD;
        if (Number(deImpurity) > 0) {//扣重&#xD;
            deSum = deSum + Number(deImpurity);&#xD;
            } else {&#xD;
            addSum = addSum + Number(deImpurity);&#xD;
        }&#xD;
    }else{&#xD;
        if (Number(deWet) > 0) {//扣重&#xD;
            deSum = deSum + Number(deWet);&#xD;
        } else {&#xD;
            addSum = addSum + Number(deWet);&#xD;
        }&#xD;
        if (Number(deImpurity) > 0) {//扣重&#xD;
            deSum = deSum + Number(deImpurity);&#xD;
        } else {&#xD;
            addSum = addSum + Number(deImpurity);&#xD;
        }&#xD;
    }&#xD;
    &#xD;
    deSum = deSum.toFixed(0);&#xD;
    /** å¢žé‡è½¬æ­£æ•°ï¼Œä¾¿äºŽè®¡ç®—  */&#xD;
    addSum = Math.abs(addSum).toFixed(0);&#xD;
    &#xD;
    /** å…¥åº“重量 = å‡€é‡ - æ€»æ‰£é‡  */&#xD;
    recordWeight = Number(netWeight) - Number(deSum);&#xD;
    &#xD;
    /** ç»“算重量 = å‡€é‡ - æ€»æ‰£é‡ + å¢žé‡ */&#xD;
    settleWeight = Number(netWeight) - Number(deSum) + Number(addSum);&#xD;
    &#xD;
    curData.set(&quot;netWeight&quot;,netWeight);&#xD;
    curData.set(&quot;settleWeight&quot;,settleWeight);&#xD;
    curData.set(&quot;recordWeight&quot;,recordWeight);&#xD;
};&#xD;
&#xD;
/**&#xD;
 * æ ¹æ®åŒ–验项和传递过来的参数获取当前参数的配置信息&#xD;
 * @param checkItems&#xD;
 * @param code1 ç³»ç»Ÿå‚æ•°ID&#xD;
 * @param code2 å›½æ ‡å‚æ•°ID&#xD;
 * @returns {undefined}&#xD;
 */&#xD;
function getCheckItem(checkItems, code1, code2) {&#xD;
    if (!checkItems) return null;&#xD;
    $.each(checkItems, function (index, checkItem) {&#xD;
        if (checkItem.get(&quot;standardId&quot;) == code1 || checkItem.get(&quot;standardId&quot;) == code2) {&#xD;
            if (checkItem.get(&quot;ruleNum&quot;) &amp;&amp; checkItem.get(&quot;upperLimit&quot;) > 0.0) {&#xD;
                return checkItem;&#xD;
            }&#xD;
        }&#xD;
    });&#xD;
    return null;&#xD;
}</ClientEvent>
    <Property name="packages">font-awesome,css-common</Property>
    <Property name="javaScriptFile">./static/plugins/lodop/LodopFuncs.js</Property>
    <DataSet id="dsMain">
@@ -861,7 +756,7 @@
var id = self.getDom().id;&#xD;
var prop = id.substring(2,id.length);&#xD;
deAutoByWeight(prop);&#xD;
                                            </ClientEvent>
</ClientEvent>
                      <Property name="name">fullWeight</Property>
                      <Property name="property">fullWeight</Property>
                      <Editor/>
@@ -902,11 +797,19 @@
                      <Editor/>
                    </AutoFormElement>
                    <AutoFormElement layoutConstraint="colSpan:2">
                      <ClientEvent name="onBlur">//id è§„则 d_prop&#xD;
var id = self.getDom().id;&#xD;
var prop = id.substring(2,id.length);&#xD;
deAutoByWeight(prop);</ClientEvent>
                      <Property name="name">deCheck</Property>
                      <Property name="property">deCheck</Property>
                      <Editor/>
                    </AutoFormElement>
                    <AutoFormElement layoutConstraint="colSpan:2">
                      <ClientEvent name="onBlur">//id è§„则 d_prop&#xD;
var id = self.getDom().id;&#xD;
var prop = id.substring(2,id.length);&#xD;
deAutoByWeight(prop);</ClientEvent>
                      <Property name="name">addCheck</Property>
                      <Property name="property">addCheck</Property>
                      <Editor/>