From 65af56af565a47e191aa76ede4a62ab3fd91e789 Mon Sep 17 00:00:00 2001 From: YYC <1833023622@qq.com> Date: 星期一, 24 七月 2023 09:10:28 +0800 Subject: [PATCH] 质量巡检添添加优化 --- igds-core/src/main/java/com/ld/igds/m/view/QualityManager.view.xml | 242 ++++++++++++++++++++++++++++------------ igds-inout/src/main/java/com/ld/igds/m/view/ContractManage.view.xml | 5 igds-inout/src/main/java/com/ld/igds/m/view/PlanManage01.view.xml | 2 igds-inout/src/main/java/com/ld/igds/m/view/InoutDriver.view.xml | 9 + igds-inout/src/main/java/models/inout.model.xml | 5 igds-core/src/main/java/com/ld/igds/m/service/HQualityManageService.java | 54 +++++--- 6 files changed, 218 insertions(+), 99 deletions(-) diff --git a/igds-core/src/main/java/com/ld/igds/m/service/HQualityManageService.java b/igds-core/src/main/java/com/ld/igds/m/service/HQualityManageService.java index 5762679..3349e2c 100644 --- a/igds-core/src/main/java/com/ld/igds/m/service/HQualityManageService.java +++ b/igds-core/src/main/java/com/ld/igds/m/service/HQualityManageService.java @@ -1,6 +1,7 @@ package com.ld.igds.m.service; import com.bstek.bdf2.core.orm.hibernate.HibernateDao; +import com.bstek.dorado.data.entity.EntityUtils; import com.bstek.dorado.data.provider.Page; import com.ld.igds.check.mapper.CheckStandardMapper; import com.ld.igds.constant.RedisConst; @@ -10,8 +11,10 @@ import com.ld.igds.util.RedisUtil; import org.apache.commons.lang3.StringUtils; import org.hibernate.Session; +import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; + import java.util.Date; import java.util.HashMap; import java.util.List; @@ -28,8 +31,7 @@ private CheckStandardMapper checkStandardMapper; - - public void listQuality(Page<MQuality> page, Map<String, Object> param) throws Exception{ + public void listQuality(Page<MQuality> page, Map<String, Object> param) throws Exception { String hql = " from " + MQuality.class.getName() + " where companyId =:companyId and deptId =:deptId"; @@ -39,20 +41,20 @@ if (null != param) { String str = (String) param.get("depotId"); - if(StringUtils.isNotEmpty(str)){ + if (StringUtils.isNotEmpty(str)) { hql += " and depotId =:depotId"; - args.put("depotId", str ); + args.put("depotId", str); } str = (String) param.get("type"); - if(StringUtils.isNotEmpty(str)){ + if (StringUtils.isNotEmpty(str)) { hql += " and type =:type"; - args.put("type", str ); + args.put("type", str); } Date date = (Date) param.get("start"); - if(null != date) { + if (null != date) { hql += " and time >=:start"; args.put("start", DateUtil.getCurZero(date)); } @@ -72,12 +74,13 @@ /** * 鑾峰彇浠撳簱鏈�鏂颁竴鏉¤川妫�鏁版嵁 + * * @param depotId * @return * @throws Exception */ - public MQuality getLastData(String depotId){ - if(StringUtils.isEmpty(depotId)){ + public MQuality getLastData(String depotId) { + if (StringUtils.isEmpty(depotId)) { return null; } String hql = " from " + MQuality.class.getName() @@ -86,12 +89,12 @@ args.put("companyId", ContextUtil.getCompanyId()); hql += " and depotId =:depotId"; - args.put("depotId", depotId ); + args.put("depotId", depotId); hql += " order by time DESC"; - List<MQuality> list = this.query(hql,args); - if(list != null && list.size() > 0){ + List<MQuality> list = this.query(hql, args); + if (list != null && list.size() > 0) { MQuality quality = list.get(0); - quality.setCheckItems(checkStandardMapper.getCheckItemById(quality.getId(),ContextUtil.getCompanyId())); + quality.setCheckItems(checkStandardMapper.getCheckItemById(quality.getId(), ContextUtil.getCompanyId())); return list.get(0); } return null; @@ -99,23 +102,25 @@ /** * 浠庣紦瀛樿幏鍙栧綋鍓嶄粨搴撶殑鏈�鏂颁竴鏉¤川妫�鏁版嵁 + * * @param depotId * @return * @throws Exception */ public MQuality getCacheLastData(String depotId) { - if(StringUtils.isEmpty(depotId)){ + if (StringUtils.isEmpty(depotId)) { return null; } - MQuality quality = (MQuality) redisUtil.get(RedisConst.buildKey(ContextUtil.getCompanyId(),RedisConst.KEY_DEPOT_QUALITY,depotId)); - if(quality == null){ + MQuality quality = (MQuality) redisUtil.get(RedisConst.buildKey(ContextUtil.getCompanyId(), RedisConst.KEY_DEPOT_QUALITY, depotId)); + if (quality == null) { quality = this.getLastData(depotId); - if(quality != null ){ - redisUtil.set(RedisConst.buildKey(ContextUtil.getCompanyId(),RedisConst.KEY_DEPOT_QUALITY,depotId),quality,60 * 60 *24); + if (quality != null) { + redisUtil.set(RedisConst.buildKey(ContextUtil.getCompanyId(), RedisConst.KEY_DEPOT_QUALITY, depotId), quality, 60 * 60 * 24); } } return quality; } + public void saveQuality(String id, MQuality data) { if (null == data.getCompanyId()) { data.setCompanyId(ContextUtil.getCompanyId()); @@ -124,6 +129,7 @@ data.setDeptId(ContextUtil.subDeptId(null)); } Session session = this.getSessionFactory().openSession(); + data.setUpdateTime(new Date()); try { if (null == data.getId()) { data.setId(id); @@ -131,9 +137,16 @@ } else { session.update(data); } - redisUtil.del(RedisConst.buildKey(ContextUtil.getCompanyId(),RedisConst.KEY_DEPOT_QUALITY,data.getDepotId())); + redisUtil.del(RedisConst.buildKey(ContextUtil.getCompanyId(), RedisConst.KEY_DEPOT_QUALITY, data.getDepotId())); + MQuality newData; + if (EntityUtils.isEntity(data)) { + newData = new MQuality(); + BeanUtils.copyProperties(data, newData, new String[]{"checkItems"}); + } else { + newData = data; + } - redisUtil.set(RedisConst.buildKey(ContextUtil.getCompanyId(),RedisConst.KEY_DEPOT_QUALITY,data.getDepotId()),data,60 * 60 *24); + redisUtil.set(RedisConst.buildKey(ContextUtil.getCompanyId(), RedisConst.KEY_DEPOT_QUALITY, data.getDepotId()), newData, 60 * 60 * 24); } catch (Exception e) { e.printStackTrace(); } finally { @@ -147,6 +160,7 @@ try { if (null != data.getId()) { session.delete(data); + redisUtil.del(RedisConst.buildKey(ContextUtil.getCompanyId(), RedisConst.KEY_DEPOT_QUALITY, data.getDepotId())); } } catch (Exception e) { e.printStackTrace(); diff --git a/igds-core/src/main/java/com/ld/igds/m/view/QualityManager.view.xml b/igds-core/src/main/java/com/ld/igds/m/view/QualityManager.view.xml index 711df16..1da57df 100644 --- a/igds-core/src/main/java/com/ld/igds/m/view/QualityManager.view.xml +++ b/igds-core/src/main/java/com/ld/igds/m/view/QualityManager.view.xml @@ -5,12 +5,11 @@ <Model> <DataType name="dtMain"> <ClientEvent name="onDataChange">if(arg.property =="depotId"){
 - autoByDepot(arg.newValue);
 - }
 - if(arg.property =="foodVariety"){
 - checkByFood(arg.newValue);
 - } - </ClientEvent> + autoByDepot(arg.newValue);
 +}
 +if(arg.property =="foodVariety"){
 + checkByFood(arg.newValue);
 +} </ClientEvent> <Property name="creationType">com.ld.igds.models.MQuality</Property> <PropertyDef name="id"> <Property name="label">ID</Property> @@ -92,20 +91,27 @@ <PropertyDef name="checkUser"> <Property name="label">鎵︽牱浜�</Property> </PropertyDef> - <PropertyDef name="checkNum"> + <PropertyDef name="ypsl"> <Property name="label">鏍峰搧鏁伴噺</Property> - <Property name="displayFormat">0.0%</Property> <Property name="dataType">Double</Property> + <Property name="displayFormat">0.## KG</Property> </PropertyDef> <PropertyDef name="checkTime"> <Property name="label">鎵︽牱鏃堕棿</Property> <Property name="dataType">Date</Property> </PropertyDef> - <PropertyDef name="checkRepresent"> - <Property name="label">鏍峰搧浠h〃</Property> + <PropertyDef name="dbsl"> + <Property name="label">鏍峰搧浠h〃鏁伴噺</Property> + <Property name="dataType">Double</Property> + <Property name="displayFormat">0.## KG</Property> </PropertyDef> - <PropertyDef name="checkLevel"> + <PropertyDef name="ypdj"> <Property name="label">鏍峰搧绛夌骇</Property> + <Property name="mapping"> + <Property name="mapValues">${dorado.getDataProvider("dicTriggerPR#dicTrigger").getResult("FOOD_LEVEL_")}</Property> + <Property name="keyProperty">code</Property> + <Property name="valueProperty">name</Property> + </Property> </PropertyDef> <PropertyDef name="normalYear"> <Property name="label">姝e父瀛樺偍骞撮檺</Property> @@ -203,6 +209,62 @@ </PropertyDef> <PropertyDef name="remarks"> <Property name="label">鍖栭獙缁撴灉</Property> + </PropertyDef> + <PropertyDef name="operaSymbolValue"> + <Property/> + </PropertyDef> + <PropertyDef name="operaSymbol"> + <Property/> + <Property name="label">杩愮畻绗﹀彿</Property> + </PropertyDef> + <PropertyDef name="ruleNum"> + <Property name="dataType">Double</Property> + <Property name="label">鎵i噸绯绘暟</Property> + </PropertyDef> + <PropertyDef name="ruleAdd"> + <Property name="dataType">Double</Property> + <Property name="label">澧為噸%</Property> + </PropertyDef> + <PropertyDef name="ruleAddEnd"> + <Property name="dataType">Double</Property> + <Property name="label">澧為噸涓婇檺%</Property> + </PropertyDef> + <PropertyDef name="ruleReduce"> + <Property name="dataType">Double</Property> + <Property name="label">鎵i噸鍊�%</Property> + </PropertyDef> + <PropertyDef name="rulePrice"> + <Property name="dataType">Double</Property> + <Property name="label">鎵h垂绯绘暟</Property> + </PropertyDef> + <PropertyDef name="ruleReducePrice"> + <Property name="dataType">Double</Property> + <Property name="label">鎵h垂</Property> + </PropertyDef> + <PropertyDef name="addNum"> + <Property name="dataType">Double</Property> + <Property name="label">澧為噸</Property> + </PropertyDef> + <PropertyDef name="deNum"> + <Property name="dataType">Double</Property> + <Property name="label">鎵i噸</Property> + </PropertyDef> + <PropertyDef name="addPrice"> + <Property name="dataType">Double</Property> + <Property name="label">澧炰环</Property> + </PropertyDef> + <PropertyDef name="dePrice"> + <Property name="dataType">Double</Property> + <Property name="label">鎵d环</Property> + </PropertyDef> + <PropertyDef name="result"> + <Property/> + <Property name="label">妫�楠岀粨鏋�</Property> + <Property name="mapping"> + <Property name="mapValues">${dorado.getDataProvider("inoutDataPR#triggerResult").getResult()}</Property> + <Property name="keyProperty">code</Property> + <Property name="valueProperty">name</Property> + </Property> </PropertyDef> </DataType> <DataType name="dataTypeUser"> @@ -337,30 +399,28 @@ </Model> <View layout="padding:5;regionPadding:5"> <ClientEvent name="onReady">var deptId = window.parent.DEPT_ID;//鐖堕〉闈腑鐨勫垎搴撶紪鐮�
 - 
 - //鏍规嵁浠撳簱鑷姩鍥炲~绮鍝佺锛岀櫥璁帮紝浜у湴鏂�
 - autoByDepot = function(depotId){
 - view.get("#ajaxGetDepot").set("parameter",depotId).execute(function(result){
 - if(result){
 - var data = view.get("#dsMain.data:#");
 - data.set("foodLocation",result.foodLocation);
 - data.set("foodLevel",result.foodLevel);
 - data.set("foodVariety",result.foodVariety);
 - data.set("foodType",result.foodType);
 - }
 - });
 - };
 - 
 - //鏍规嵁绮鍝佺鏌ヨ鍖栭獙椤瑰苟鍥炴樉
 - checkByFood = function(foodVariety){
 - view.get("#ajaxGetCheck").set("parameter",{foodVariety:foodVariety,deptId:deptId}).execute(function(result){
 - if(result){
 - var data = view.get("#dsMain.data:#");
 - data.set("checkItems",result);
 - }
 - }); 
 - }; - </ClientEvent> +
 +//鏍规嵁浠撳簱鑷姩鍥炲~绮鍝佺锛岀櫥璁帮紝浜у湴鏂�
 +autoByDepot = function(depotId){
 + view.get("#ajaxGetDepot").set("parameter",depotId).execute(function(result){
 + if(result){
 + var data = view.get("#dsMain.data:#");
 + data.set("foodLocation",result.foodLocation);
 + data.set("foodLevel",result.foodLevel);
 + data.set("foodVariety",result.foodVariety);
 + data.set("foodType",result.foodType);
 + }
 +});
 +};
 +//鏍规嵁绮鍝佺鏌ヨ鍖栭獙椤瑰苟鍥炴樉
 +checkByFood = function(foodVariety){
 +view.get("#ajaxGetCheck").set("parameter",{foodVariety:foodVariety,deptId:deptId}).execute(function(result){
 +if(result){
 + var data = view.get("#dsMain.data:#");
 + data.set("checkItems",result);
 + }
 + }); 
 +}; </ClientEvent> <Property name="packages">font-awesome,css-common</Property> <DataSet id="dsMain"> <Property name="loadMode">lazy</Property> @@ -474,10 +534,9 @@ </AutoForm> <DataGrid layoutConstraint="center padding:5px"> <ClientEvent name="onDataRowDoubleClick">var data = view.get("#dsMain.data:#");
 - if(data){
 - view.get("#dialogMain").show();
 - } - </ClientEvent> +if(data){
 + view.get("#dialogMain").show();
 +} </ClientEvent> <Property name="dataSet">dsMain</Property> <Property name="readOnly">true</Property> <RowNumColumn/> @@ -625,8 +684,8 @@ <Editor/> </AutoFormElement> <AutoFormElement> - <Property name="name">checkNum</Property> - <Property name="property">checkNum</Property> + <Property name="name">ypsl</Property> + <Property name="property">ypsl</Property> <Editor/> </AutoFormElement> <AutoFormElement> @@ -651,13 +710,13 @@ <Editor/> </AutoFormElement> <AutoFormElement> - <Property name="name">checkRepresent</Property> - <Property name="property">checkRepresent</Property> + <Property name="name">dbsl</Property> + <Property name="property">dbsl</Property> <Editor/> </AutoFormElement> <AutoFormElement> - <Property name="name">checkLevel</Property> - <Property name="property">checkLevel</Property> + <Property name="name">ypdj</Property> + <Property name="property">ypdj</Property> <Editor/> </AutoFormElement> <AutoFormElement> @@ -697,51 +756,90 @@ <Buttons/> <Children> <DataGrid id="dataGridCheckItem"> + <ClientEvent name="onCellValueEdit">var data = arg.entity
 +if (data) {
 + //濉啓鐨勬暟鎹��;
 + var newValue = data.get("value");
 + //鏍囧噯鍊�;
 + var limit = data.get("upperLimit");
 + //杩愮畻绗�;
 + var symbol = data.get("operaSymbol");
 + if (symbol && limit && newValue) {
 + if (">=" == symbol) {
 + if (newValue < limit) {
 + data.set("result", "0");
 + }
 + else {
 + data.set("result", "1");
 + }
 + }
 + if ("<=" == symbol) {
 + if (newValue > limit) {
 + data.set("result", "0");
 + }
 + else {
 + data.set("result", "1");
 + }
 + }
 + if ("==" == symbol) {
 + if (newValue != limit) {
 + data.set("result", "0");
 + }
 + else {
 + data.set("result", "1");
 + }
 + }
 + }
 +}</ClientEvent> <Property name="dataPath">#.checkItems</Property> <Property name="dataSet">dsMain</Property> <Property name="hideMode">display</Property> <Property name="highlightCurrentRow">false</Property> <Property name="visible">true</Property> <RowNumColumn/> - <DataColumn> - <Property name="name">standardName</Property> + <DataColumn name="standardName"> <Property name="property">standardName</Property> <Property name="align">center</Property> - <Property name="readOnly">true</Property> - <Editor/> </DataColumn> - <DataColumn> - <Property name="name">value</Property> + <DataColumn name="value"> <Property name="property">value</Property> <Property name="align">center</Property> - <Editor/> </DataColumn> - <DataColumn> - <Property name="name">upperLimit</Property> - <Property name="property">upperLimit</Property> - <Property name="align">center</Property> - <Property name="readOnly">true</Property> - <Editor/> - </DataColumn> - <DataColumn> - <Property name="name">lowerLimit</Property> - <Property name="property">lowerLimit</Property> - <Property name="align">center</Property> - <Property name="readOnly">true</Property> - <Editor/> - </DataColumn> - <DataColumn> - <Property name="name">unit</Property> + <DataColumn name="unit"> <Property name="property">unit</Property> <Property name="align">center</Property> <Property name="readOnly">true</Property> - <Editor/> </DataColumn> - <DataColumn> - <Property name="name">remarks</Property> + <DataColumn name="operaSymbolValue"> + <Property name="property">operaSymbolValue</Property> + <Property name="align">center</Property> + <Property name="caption">鏍囧噯鍊�</Property> + <Property name="readOnly">true</Property> + </DataColumn> + <DataColumn name="deNum"> + <Property name="property">deNum</Property> + <Property name="align">center</Property> + </DataColumn> + <DataColumn name="addNum"> + <Property name="property">addNum</Property> + <Property name="align">center</Property> + </DataColumn> + <DataColumn name="dePrice"> + <Property name="property">dePrice</Property> + <Property name="align">center</Property> + </DataColumn> + <DataColumn name="addPrice"> + <Property name="property">addPrice</Property> + <Property name="align">center</Property> + </DataColumn> + <DataColumn name="result"> + <Property name="property">result</Property> + <Property name="align">center</Property> + <Property name="readOnly">true</Property> + </DataColumn> + <DataColumn name="remarks"> <Property name="property">remarks</Property> <Property name="align">center</Property> - <Editor/> </DataColumn> </DataGrid> </Children> diff --git a/igds-inout/src/main/java/com/ld/igds/m/view/ContractManage.view.xml b/igds-inout/src/main/java/com/ld/igds/m/view/ContractManage.view.xml index 1b9053c..f711c52 100644 --- a/igds-inout/src/main/java/com/ld/igds/m/view/ContractManage.view.xml +++ b/igds-inout/src/main/java/com/ld/igds/m/view/ContractManage.view.xml @@ -741,11 +741,6 @@ <Property name="property">signAddress</Property> <Editor/> </AutoFormElement> - <AutoFormElement layoutConstraint="colSpan:3"> - <Property name="name">remark</Property> - <Property name="property">remark</Property> - <Editor/> - </AutoFormElement> </AutoForm> </Children> </FieldSet> diff --git a/igds-inout/src/main/java/com/ld/igds/m/view/InoutDriver.view.xml b/igds-inout/src/main/java/com/ld/igds/m/view/InoutDriver.view.xml index bbb1642..cf27350 100644 --- a/igds-inout/src/main/java/com/ld/igds/m/view/InoutDriver.view.xml +++ b/igds-inout/src/main/java/com/ld/igds/m/view/InoutDriver.view.xml @@ -21,7 +21,7 @@ </PropertyDef> <PropertyDef name="nation"> <Property></Property> - <Property name="label">鍚嶆棌</Property> + <Property name="label">姘戞棌</Property> </PropertyDef> <PropertyDef name="address"> <Property></Property> @@ -160,25 +160,32 @@ <DataColumn name="name"> <Property name="property">name</Property> <Property name="width">300</Property> + <Property name="align">center</Property> </DataColumn> <DataColumn name="nation"> <Property name="property">nation</Property> + <Property name="align">center</Property> </DataColumn> <DataColumn name="mobile"> <Property name="property">mobile</Property> + <Property name="align">center</Property> </DataColumn> <DataColumn name="sex"> <Property name="property">sex</Property> + <Property name="align">center</Property> </DataColumn> <DataColumn name="birthday"> <Property name="property">birthday</Property> + <Property name="align">center</Property> </DataColumn> <DataColumn name="address"> <Property name="property">address</Property> <Property name="width">300</Property> + <Property name="align">center</Property> </DataColumn> <DataColumn name="updateTime"> <Property name="property">updateTime</Property> + <Property name="align">center</Property> </DataColumn> </DataGrid> </Container> diff --git a/igds-inout/src/main/java/com/ld/igds/m/view/PlanManage01.view.xml b/igds-inout/src/main/java/com/ld/igds/m/view/PlanManage01.view.xml index 115b4a6..6dc7347 100644 --- a/igds-inout/src/main/java/com/ld/igds/m/view/PlanManage01.view.xml +++ b/igds-inout/src/main/java/com/ld/igds/m/view/PlanManage01.view.xml @@ -475,7 +475,7 @@ </Label> <Button layoutConstraint="left"> <ClientEvent name="onClick">var list = view.get("#dsMain.data:#").get("details");
 - list.insert({});</ClientEvent> +list.insert({});</ClientEvent> <Property name="caption">鏂板</Property> <Property name="exClassName">btn-default</Property> <Property name="iconClass">fa fa-plus</Property> diff --git a/igds-inout/src/main/java/models/inout.model.xml b/igds-inout/src/main/java/models/inout.model.xml index 69a099a..a4a2461 100644 --- a/igds-inout/src/main/java/models/inout.model.xml +++ b/igds-inout/src/main/java/models/inout.model.xml @@ -56,6 +56,11 @@ <PropertyDef name="bank"> <Property></Property> <Property name="label">寮�鎴烽摱琛�</Property> + <Property name="mapping"> + <Property name="mapValues">${dorado.getDataProvider("dicTriggerPR#dicTrigger").getResult("KHKHH")}</Property> + <Property name="keyProperty">code</Property> + <Property name="valueProperty">name</Property> + </Property> </PropertyDef> <PropertyDef name="bankNum"> <Property></Property> -- Gitblit v1.9.3