From 43a14ad6fbb68a9c0ce787acce28ce446aac13b0 Mon Sep 17 00:00:00 2001 From: YYC <1833023622@qq.com> Date: 星期四, 13 七月 2023 14:14:51 +0800 Subject: [PATCH] 添加扦样信息 --- igds-inout/src/main/java/com/ld/igds/inout/view/InoutList.view.xml | 48 ++++++++ igds-inout/src/main/java/com/ld/igds/m/InoutManageUtil.java | 2 igds-inout/src/main/java/models/inout.model.xml | 15 ++- igds-inout/src/main/java/com/ld/igds/inout/view/InoutHand.view.xml | 81 +++++++++++++++ igds-inout/src/main/java/com/ld/igds/m/service/HLossOverService.java | 76 ++++++++++++-- igds-inout/src/main/java/com/ld/igds/m/service/HVarietyChangeService.java | 2 igds-inout/src/main/java/com/ld/igds/models/InoutLossOver.java | 12 ++ igds-core/src/main/java/com/ld/igds/inout/InoutConstant.java | 11 ++ igds-inout/src/main/java/com/ld/igds/inout/view/InoutDataPR.java | 24 ++++ 9 files changed, 238 insertions(+), 33 deletions(-) diff --git a/igds-core/src/main/java/com/ld/igds/inout/InoutConstant.java b/igds-core/src/main/java/com/ld/igds/inout/InoutConstant.java index bc43862..330b71c 100644 --- a/igds-core/src/main/java/com/ld/igds/inout/InoutConstant.java +++ b/igds-core/src/main/java/com/ld/igds/inout/InoutConstant.java @@ -192,7 +192,18 @@ * 璁″垝鏄庣粏绫诲瀷 -杞叆璁″垝 **/ public static final String PLAN_DETAIL_TYPE_2 = "2"; + /** + * 妫�娴嬬粨鏋� -鍚堟牸 + */ + public static final String RESULT_1 = "1"; + /** + * 妫�娴嬬粨鏋� -涓嶅悎鏍� + */ + public static final String RESULT_0 = "0"; + public static final String SAMPLE_TYPE_MANUAL = "0"; + public static final String SAMPLE_TYPE_AUTOMATIC = "1"; + public static final String SAMPLE_TYPE_RANDOM = "2"; /** * 鏍规嵁涓氬姟绫诲瀷鍜� 褰撳墠鐘舵�佽繑鍥炲綋鍓嶇姸鎬佺殑娴佺▼鍚嶇О diff --git a/igds-inout/src/main/java/com/ld/igds/inout/view/InoutDataPR.java b/igds-inout/src/main/java/com/ld/igds/inout/view/InoutDataPR.java index 50a29a8..010e7ac 100644 --- a/igds-inout/src/main/java/com/ld/igds/inout/view/InoutDataPR.java +++ b/igds-inout/src/main/java/com/ld/igds/inout/view/InoutDataPR.java @@ -42,9 +42,8 @@ private InoutReportManager inoutReportManager; @Resource private InoutManager inoutManager; - - - + + // ${dorado.getDataProvider("inoutDataPR#triggerRecordStatus1").getResult()} @DataProvider public List<DicTrigger> triggerRecordStatus1() { @@ -54,6 +53,25 @@ return list; } + // ${dorado.getDataProvider("inoutDataPR#triggerResult").getResult()} + @DataProvider + public List<DicTrigger> triggerResult() { + List<DicTrigger> list = new ArrayList<DicTrigger>(); + list.add(new DicTrigger(InoutConstant.RESULT_1, "鍚堟牸")); + list.add(new DicTrigger(InoutConstant.RESULT_0, "涓嶅悎鏍�")); + return list; + } + + // ${dorado.getDataProvider("inoutDataPR#triggerSampleType").getResult()} + @DataProvider + public List<DicTrigger> triggerSampleType() { + List<DicTrigger> list = new ArrayList<DicTrigger>(); + list.add(new DicTrigger(InoutConstant.SAMPLE_TYPE_MANUAL, "浜哄伐")); + list.add(new DicTrigger(InoutConstant.SAMPLE_TYPE_AUTOMATIC, "鑷姩")); + list.add(new DicTrigger(InoutConstant.SAMPLE_TYPE_RANDOM, "鏅鸿兘闅忔満")); + return list; + } + /** * inoutDataPR#pageInoutData * diff --git a/igds-inout/src/main/java/com/ld/igds/inout/view/InoutHand.view.xml b/igds-inout/src/main/java/com/ld/igds/inout/view/InoutHand.view.xml index 3e27763..4f4abfe 100644 --- a/igds-inout/src/main/java/com/ld/igds/inout/view/InoutHand.view.xml +++ b/igds-inout/src/main/java/com/ld/igds/inout/view/InoutHand.view.xml @@ -108,6 +108,34 @@ <Property></Property> <Property name="label">杩愮畻绗﹀彿</Property> </PropertyDef> + <PropertyDef name="operaSymbolValue"> + <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="keyProperty">code</Property> + <Property name="valueProperty">name</Property> + <Property name="mapValues">${dorado.getDataProvider("inoutDataPR#triggerResult").getResult()}</Property> + </Property> + </PropertyDef> </DataType> </Model> <View layout="padding:5;regionPadding:5"> @@ -556,8 +584,29 @@ <Property name="label">璐ㄦ鏃堕棿</Property> <Editor/> </AutoFormElement> + <AutoFormElement> + <Property name="name">sampleUser</Property> + <Property name="property">sampleUser</Property> + <Editor/> + </AutoFormElement> + <AutoFormElement> + <Property name="name">sampleTime</Property> + <Property name="property">sampleTime</Property> + <Editor/> + </AutoFormElement> + <AutoFormElement> + <Property name="name">sampleType</Property> + <Property name="property">sampleType</Property> + <Property name="editorType">RadioGroup</Property> + <Editor/> + </AutoFormElement> </AutoForm> <DataGrid id="dataGridCheckItem" layoutConstraint="padding:10"> + <ClientEvent name="onCellValueEdit">var data = view.get("#dsMain.data:#");
 +if(data){
 + console.log(data,"inoutHand");
 +}
 +</ClientEvent> <Property name="dataSet">dsMain</Property> <Property name="dataPath">#.checkItems</Property> <Property name="highlightCurrentRow">false</Property> @@ -579,14 +628,38 @@ <Property name="property">unit</Property> <Property name="width">80</Property> <Property name="readOnly">true</Property> - </DataColumn> - <DataColumn name="standardValue"> - <Property name="property">standardValue</Property> - <Property name="readOnly">true</Property> <Property name="align">center</Property> + </DataColumn> + <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> </DataColumn> </DataGrid> </Container> diff --git a/igds-inout/src/main/java/com/ld/igds/inout/view/InoutList.view.xml b/igds-inout/src/main/java/com/ld/igds/inout/view/InoutList.view.xml index fa9fff5..74a5668 100644 --- a/igds-inout/src/main/java/com/ld/igds/inout/view/InoutList.view.xml +++ b/igds-inout/src/main/java/com/ld/igds/inout/view/InoutList.view.xml @@ -978,6 +978,22 @@ <Property name="label">璐ㄦ鏃堕棿</Property> <Editor/> </AutoFormElement> + <AutoFormElement> + <Property name="name">sampleUser</Property> + <Property name="property">sampleUser</Property> + <Editor/> + </AutoFormElement> + <AutoFormElement> + <Property name="name">sampleTime</Property> + <Property name="property">sampleTime</Property> + <Editor/> + </AutoFormElement> + <AutoFormElement> + <Property name="name">sampleType</Property> + <Property name="property">sampleType</Property> + <Property name="editorType">RadioGroup</Property> + <Editor/> + </AutoFormElement> </AutoForm> <DataGrid id="dataGridCheckItem" layoutConstraint="padding:10"> <Property name="dataSet">dsMain</Property> @@ -1001,14 +1017,38 @@ <Property name="property">unit</Property> <Property name="width">80</Property> <Property name="readOnly">true</Property> - </DataColumn> - <DataColumn name="standardValue"> - <Property name="property">standardValue</Property> - <Property name="readOnly">true</Property> <Property name="align">center</Property> + </DataColumn> + <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> </DataColumn> </DataGrid> </Container> diff --git a/igds-inout/src/main/java/com/ld/igds/m/InoutManageUtil.java b/igds-inout/src/main/java/com/ld/igds/m/InoutManageUtil.java index 9f5bd25..e2a1900 100644 --- a/igds-inout/src/main/java/com/ld/igds/m/InoutManageUtil.java +++ b/igds-inout/src/main/java/com/ld/igds/m/InoutManageUtil.java @@ -82,6 +82,8 @@ */ public static final String CACHE_VARIETY_ID = "VARIETY_ID"; + public static final String CACHE_LOSS_OVER_ID = "LOSS_OVER_ID"; + /** * 鏍规嵁绫诲瀷鍒涘缓璁″垝ID * diff --git a/igds-inout/src/main/java/com/ld/igds/m/service/HLossOverService.java b/igds-inout/src/main/java/com/ld/igds/m/service/HLossOverService.java index 0b3adf1..9d9eda4 100644 --- a/igds-inout/src/main/java/com/ld/igds/m/service/HLossOverService.java +++ b/igds-inout/src/main/java/com/ld/igds/m/service/HLossOverService.java @@ -2,15 +2,21 @@ import java.util.Date; import java.util.HashMap; +import java.util.List; import java.util.Map; +import javax.annotation.Resource; import javax.transaction.Transactional; +import com.ld.igds.constant.RedisConst; 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.service.InoutService; +import com.ld.igds.m.InoutManageUtil; import com.ld.igds.models.InoutLossOver; +import com.ld.igds.models.InoutVarietyChange; import com.ld.igds.util.DateUtil; +import com.ld.igds.util.RedisUtil; import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.time.DateFormatUtils; import org.apache.commons.lang3.time.DateUtils; @@ -25,6 +31,8 @@ @Component public class HLossOverService extends HibernateDao { + @Resource + private RedisUtil redisUtil; @Autowired private InoutService inoutService; @@ -78,18 +86,6 @@ data.setUpdateUser(ContextUtil.getLoginUserCName()); - InoutParam param = new InoutParam(); - param.setCompanyId(ContextUtil.getCompanyId()); - param.setDepotId(data.getDepotId()); - param.setProgress(InoutConstant.PROGRESS_RECORD); - - InoutData inoutData = inoutService.getLastRecord(param); - - if (null != inoutData && null != inoutData.getCompleteTime() && - data.getSubmitTime().before(inoutData.getCompleteTime())) { - throw new Exception("鐧昏鏃堕棿涓嶈兘鏃╀簬鏈�鍚庝竴杈嗚溅瀹屾垚鏃堕棿锛�" + DateFormatUtils.format(inoutData.getCompleteTime(), "yyyy-MM-dd HH:mm")); - } - try { if (null == data.getId()) { IUser user = ContextUtil.getLoginUser(); @@ -106,8 +102,8 @@ if (data.getSubmitTime().before(curDate)) { data.setSubmitTime(curDate); } - - String id = addInoutDataByLossOver(data); + String id = createId(data.getSubmitTime(), data.getCompanyId(), data.getHwdm()); +// String id = addInoutDataByLossOver(data); data.setId(id); @@ -188,4 +184,56 @@ inoutService.delInoutDataByLossOver(param); } + public List<InoutLossOver> getMaxId(Map<String, Object> param) { + + String hql = "from " + InoutLossOver.class.getName() + " where 1 = 1 "; + Map<String, Object> args = new HashMap<String, Object>(); + if (null != param) { + String str = (String) param.get("timeKey"); + if (StringUtils.isNotEmpty(str)) { + hql += " and id like :timeKey"; + args.put("timeKey", str); + } + } + hql += " order by id desc "; + return this.query(hql, args); + } + + public String createId(Date date, String companyId, String freightId) { + // 鏃堕棿鎴虫爣绛� + String timeKey = DateFormatUtils.format(date, "yyyyMMdd"); + + // 浠庣紦瀛樹腑鑾峰彇宸叉湁鐨勭粍缁囩紪鐮� + String cacheKey = RedisConst.buildKey(companyId, + InoutManageUtil.CACHE_LOSS_OVER_ID); + + String cacheId = (String) redisUtil.get(cacheKey); + + if (null != cacheId && cacheId.indexOf(freightId + timeKey) >= 0) { + String temp = cacheId.substring(cacheId.length() - 3); + Integer i = Integer.valueOf(temp); + cacheId = freightId + timeKey + String.format("%03d", ++i); + } else { + Map<String, Object> args = new HashMap<>(); + args.put("timeKey", freightId + timeKey + "%"); + List<InoutLossOver> result = getMaxId(args); + + if (null == result || result.size() == 0) { + cacheId = freightId + timeKey + "001"; + } else { + int max = 0; + int num; + for (InoutLossOver inoutLossOver : result) { + num = Integer.parseInt(inoutLossOver.getId().substring(inoutLossOver.getId().length() - 3)); + max = Math.max(max, num); + } + cacheId = freightId + timeKey + String.format("%03d", ++max); + } + } + // 鏇存柊缂撳瓨 + redisUtil.set(cacheKey, cacheId); + + return cacheId; + } + } diff --git a/igds-inout/src/main/java/com/ld/igds/m/service/HVarietyChangeService.java b/igds-inout/src/main/java/com/ld/igds/m/service/HVarietyChangeService.java index 24fe0fe..6a8c3bc 100644 --- a/igds-inout/src/main/java/com/ld/igds/m/service/HVarietyChangeService.java +++ b/igds-inout/src/main/java/com/ld/igds/m/service/HVarietyChangeService.java @@ -158,7 +158,7 @@ cacheId = freightId + timeKey + String.format("%03d", i); } else { Map<String, Object> args = new HashMap<>(); - args.put("timeKey", "%" + freightId + timeKey + "%"); + args.put("timeKey", freightId + timeKey + "%"); List<InoutVarietyChange> result = getMaxId(args); if (null == result || result.size() == 0) { diff --git a/igds-inout/src/main/java/com/ld/igds/models/InoutLossOver.java b/igds-inout/src/main/java/com/ld/igds/models/InoutLossOver.java index 795d17c..694bfdb 100644 --- a/igds-inout/src/main/java/com/ld/igds/models/InoutLossOver.java +++ b/igds-inout/src/main/java/com/ld/igds/models/InoutLossOver.java @@ -27,7 +27,7 @@ @Id @Column(name = "ID_", length = 40) - @PropertyDef(label = "涓婚敭") + @PropertyDef(label = "鎹熺泭鍗曞彿", description = "鐢辫揣浣嶄唬鐮�+涓氬姟鏃ユ湡(yyyyMMdd)+3浣嶉『搴忓彿缁勬垚") private String id; @Column(name = "COMPANY_ID_", length = 10) @@ -41,6 +41,10 @@ @Column(name = "DEPOT_ID_", length = 50) @PropertyDef(label = "鎵�灞炰粨搴�") private String depotId; + + @Column(name = "hwdm", length = 50) + @PropertyDef(label = "璐т綅浠g爜") + private String hwdm; @Column(name = "TYPE_", length = 10) @PropertyDef(label = "绫诲瀷", description = "鎹熻��/婧㈠嚭") @@ -85,7 +89,7 @@ private double ckzz; @Column(name = "AMOUNT_") - @PropertyDef(label = "閲嶉噺", description = "鎹熸孩鏁伴噺KG") + @PropertyDef(label = "閲嶉噺", description = "鎹熸孩鏁伴噺KG锛涙崯鑰椾负姝f暟锛屾孩浣欎负璐熸暟") private Double amount; // @PropertyDef(label = "鍏朵腑锛氭垚璐т綅鍓嶆崯鑰�(鍏枻)" ) @@ -184,4 +188,8 @@ @PropertyDef(label = "鏇存柊浜�") private String updateUser; + @PropertyDef(label = "鎿嶄綔鏍囧織", description = "i:鏂板鏁版嵁锛堥粯璁わ級u:鏇存柊鏁版嵁d:鍒犻櫎鏁版嵁") + @Column(name = "czbz", length = 1) + private String czbz; + } diff --git a/igds-inout/src/main/java/models/inout.model.xml b/igds-inout/src/main/java/models/inout.model.xml index ff5ada6..69a099a 100644 --- a/igds-inout/src/main/java/models/inout.model.xml +++ b/igds-inout/src/main/java/models/inout.model.xml @@ -75,7 +75,7 @@ </Property> </PropertyDef> <PropertyDef name="khlx"> - <Property/> + <Property></Property> <Property name="label">瀹㈡埛绫诲瀷</Property> <Property name="mapping"> <Property name="mapValues">${dorado.getDataProvider("contractManagePR#triggerCustomerType").getResult()}</Property> @@ -84,19 +84,19 @@ </Property> </PropertyDef> <PropertyDef name="khbh"> - <Property/> + <Property></Property> <Property name="label">瀹㈡埛缂栫爜</Property> </PropertyDef> <PropertyDef name="fddbr"> - <Property/> + <Property></Property> <Property name="label">娉曞畾浠h〃浜�</Property> </PropertyDef> <PropertyDef name="yzbm"> - <Property/> + <Property></Property> <Property name="label">閭斂缂栫爜</Property> </PropertyDef> <PropertyDef name="dzyx"> - <Property/> + <Property></Property> <Property name="label">鐢靛瓙淇$</Property> </PropertyDef> <PropertyDef name="updateTime"> @@ -387,6 +387,11 @@ <PropertyDef name="sampleType"> <Property></Property> <Property name="label">鎵︽牱鏂瑰紡</Property> + <Property name="mapping"> + <Property name="mapValues">${dorado.getDataProvider("inoutDataPR#triggerSampleType").getResult()}</Property> + <Property name="keyProperty">code</Property> + <Property name="valueProperty">name</Property> + </Property> </PropertyDef> <PropertyDef name="deCheck"> <Property name="dataType">double</Property> -- Gitblit v1.9.3