From ba9562289ab7e67c9eeca4d518ddbb3e68ed5dc2 Mon Sep 17 00:00:00 2001 From: YYC <1833023622@qq.com> Date: 星期一, 28 八月 2023 18:56:32 +0800 Subject: [PATCH] 上海新增页面--检斤单,倒仓倒入 --- src/main/java/com/fzzy/api/view/repository/ApiInfoDataRep.java | 17 src/main/java/com/fzzy/otherview/sh2023/ShApi2102.view.xml | 393 +++++++++++++++ src/main/java/com/fzzy/otherview/sh2023/pr/SHApi2101PR.java | 190 +++++++ src/main/java/com/fzzy/otherview/sh2023/pr/SHApi2102PR.java | 200 ++++++++ src/main/java/com/fzzy/push/sh2023/dto/SH2023Api2102.java | 5 src/main/java/com/fzzy/push/sh2023/dto/SH2023Api2101.java | 13 src/main/java/com/fzzy/otherview/sh2023/ShApi2101.view.xml | 667 ++++++++++++++++++++++++++ 7 files changed, 1,477 insertions(+), 8 deletions(-) diff --git a/src/main/java/com/fzzy/api/view/repository/ApiInfoDataRep.java b/src/main/java/com/fzzy/api/view/repository/ApiInfoDataRep.java index fce7ebf..8b18944 100644 --- a/src/main/java/com/fzzy/api/view/repository/ApiInfoDataRep.java +++ b/src/main/java/com/fzzy/api/view/repository/ApiInfoDataRep.java @@ -3,8 +3,11 @@ import com.fzzy.api.entity.ApiInfoData; import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.data.jpa.repository.JpaSpecificationExecutor; +import org.springframework.data.jpa.repository.Modifying; import org.springframework.data.jpa.repository.Query; import org.springframework.data.repository.query.Param; +import org.springframework.transaction.annotation.Transactional; + import java.util.List; public interface ApiInfoDataRep extends JpaRepository<ApiInfoData, String>, JpaSpecificationExecutor<ApiInfoData> { @@ -12,6 +15,7 @@ /** * 鏍规嵁鏁版嵁鍐呭ID鏌ヨ鏁版嵁 + * * @param dataId * @return */ @@ -20,10 +24,23 @@ /** * 鏍规嵁鎺ュ彛缂栫爜鏌ヨ鏁版嵁 + * * @param inteId * @return */ @Query("from ApiInfoData where inteId=:inteId ") List<ApiInfoData> getDataByInteId(@Param("inteId") String inteId); + /** + * 鏍规嵁琛ㄥ崟涓婚敭鏇存柊鎿嶄綔鏍囧織鐘舵�� + * + * @param id 涓婚敭ID + * @param czbz 鎿嶄綔鏍囧織 + * @return + */ + @Transactional + @Modifying + @Query(value = "update ApiInfoData set czbz=:czbz ,data=:data where id=:id ") + int updateStatus(@Param("id") String id, @Param("data") String data, @Param("czbz") String czbz); + } \ No newline at end of file diff --git a/src/main/java/com/fzzy/otherview/sh2023/ShApi2101.view.xml b/src/main/java/com/fzzy/otherview/sh2023/ShApi2101.view.xml index 360037f..241d6a5 100644 --- a/src/main/java/com/fzzy/otherview/sh2023/ShApi2101.view.xml +++ b/src/main/java/com/fzzy/otherview/sh2023/ShApi2101.view.xml @@ -3,9 +3,672 @@ <Arguments/> <Context/> <Model> - + <DataType name="dtMain"> + <Property name="creationType">com.fzzy.push.sh2023.dto.SH2023Api2101</Property> + <PropertyDef name="jjdh"> + <Property></Property> + <Property name="label">妫�鏂ゅ崟鍙�</Property> + <Property name="required">true</Property> + </PropertyDef> + <PropertyDef name="kqdm"> + <Property></Property> + <Property name="label">搴撳尯浠g爜</Property> + <Property name="required">true</Property> + </PropertyDef> + <PropertyDef name="jjrq"> + <Property name="dataType">Date</Property> + <Property name="label">妫�鏂ゆ棩鏈�</Property> + <Property name="required">true</Property> + </PropertyDef> + <PropertyDef name="inbillno"> + <Property></Property> + <Property name="label">椹宠繍鍗曞彿/搴撻檯璋冩嫧鍗曞彿</Property> + </PropertyDef> + <PropertyDef name="jzrq"> + <Property name="dataType">Date</Property> + <Property name="label">璁拌处鏃ユ湡</Property> + </PropertyDef> + <PropertyDef name="zydh"> + <Property></Property> + <Property name="label">浣滀笟鍗曞彿</Property> + <Property name="required">true</Property> + </PropertyDef> + <PropertyDef name="zylx"> + <Property></Property> + <Property name="label">浣滀笟绫诲瀷</Property> + <Property name="mapping"> + <Property name="keyProperty">key</Property> + <Property name="valueProperty">value</Property> + <Property name="mapValues"> + <Collection> + <Entity> + <Property name="value">1锛氬叆搴撲綔涓�</Property> + <Property name="key">1</Property> + </Entity> + <Entity> + <Property name="value">2锛氫腑杞皟鍑�</Property> + <Property name="key">2</Property> + </Entity> + <Entity> + <Property name="value">3锛氫腑杞繘浠�</Property> + <Property name="key">3</Property> + </Entity> + <Entity> + <Property name="value">4锛氬嚭搴撲綔涓�</Property> + <Property name="key">4</Property> + </Entity> + <Entity> + <Property name="value">5锛氬簱瀛樿皟鍑�</Property> + <Property name="key">5</Property> + </Entity> + <Entity> + <Property name="value">6锛氬簱瀛樿皟鍏�</Property> + <Property name="key">6</Property> + </Entity> + <Entity> + <Property name="value">7锛氱Щ浠撴々</Property> + <Property name="key">7</Property> + </Entity> + </Collection> + </Property> + </Property> + <Property name="required">true</Property> + </PropertyDef> + <PropertyDef name="khmc"> + <Property></Property> + <Property name="label">瀹㈡埛缂栧彿</Property> + </PropertyDef> + <PropertyDef name="psplan"> + <Property></Property> + <Property name="label">鏉ョ伯棰勬姤鍙�/鎻愯揣鍗曞彿</Property> + </PropertyDef> + <PropertyDef name="hth"> + <Property></Property> + <Property name="label">鍚堝悓鍙�</Property> + </PropertyDef> + <PropertyDef name="cch"> + <Property></Property> + <Property name="label">杞﹁埞鍙�</Property> + </PropertyDef> + <PropertyDef name="zzchh"> + <Property></Property> + <Property name="label">涓浆杞﹁埞鍙�</Property> + </PropertyDef> + <PropertyDef name="lspzdmdl"> + <Property></Property> + <Property name="label">鍝佺澶х被</Property> + <Property name="required">true</Property> + <Property name="mapping"> + <Property name="mapValues">${dorado.getDataProvider("apiTriggerService#trigger").getResult("LSPZ")}</Property> + <Property name="keyProperty">code</Property> + <Property name="valueProperty">name</Property> + </Property> + </PropertyDef> + <PropertyDef name="lsxzdm"> + <Property></Property> + <Property name="label">绮鎬ц川浠g爜</Property> + <Property name="required">true</Property> + <Property name="mapping"> + <Property name="mapValues">${dorado.getDataProvider("apiTriggerService#trigger").getResult("LSXZ")}</Property> + <Property name="keyProperty">code</Property> + <Property name="valueProperty">name</Property> + </Property> + </PropertyDef> + <PropertyDef name="lldm"> + <Property></Property> + <Property name="label">鏉ョ伯浠g爜</Property> + <Property name="required">true</Property> + </PropertyDef> + <PropertyDef name="ajdm"> + <Property></Property> + <Property name="label">寤掗棿浠g爜</Property> + <Property name="required">true</Property> + </PropertyDef> + <PropertyDef name="hwdm"> + <Property></Property> + <Property name="label">璐т綅浠g爜</Property> + <Property name="required">true</Property> + </PropertyDef> + <PropertyDef name="yrajdh"> + <Property></Property> + <Property name="label">绉诲叆寤掗棿浠g爜</Property> + </PropertyDef> + <PropertyDef name="yrhwdm"> + <Property></Property> + <Property name="label">绉诲叆璐т綅浠g爜</Property> + </PropertyDef> + <PropertyDef name="zxb"> + <Property></Property> + <Property name="label">瑁呭嵏鐝�</Property> + </PropertyDef> + <PropertyDef name="bzwzkl"> + <Property name="dataType">double</Property> + <Property name="label">鍖呰鐗╁鎵i噺(鍏枻)</Property> + <Property name="required">true</Property> + <Property name="displayFormat">#0.000000</Property> + </PropertyDef> + <PropertyDef name="mz"> + <Property name="dataType">double</Property> + <Property name="label">姣涢噸(鍏枻)</Property> + <Property name="required">true</Property> + <Property name="displayFormat">#0.000000</Property> + </PropertyDef> + <PropertyDef name="jz"> + <Property name="dataType">double</Property> + <Property name="label">鍑�閲�(鍏枻)</Property> + <Property name="required">true</Property> + <Property name="displayFormat">#0.000000</Property> + </PropertyDef> + <PropertyDef name="czbz"> + <Property></Property> + <Property name="label">鏁版嵁鐘舵��</Property> + <Property name="mapping"> + <Property name="mapValues">${dorado.getDataProvider("apiTriggerService#trigger").getResult("CZBZ")}</Property> + <Property name="keyProperty">code</Property> + <Property name="valueProperty">name</Property> + </Property> + <Property name="required">true</Property> + </PropertyDef> + <PropertyDef name="zhgxsj"> + <Property name="dataType">DateTime</Property> + <Property name="label">鏈�鍚庢洿鏂版椂闂�</Property> + </PropertyDef> + <PropertyDef name="bjw"> + <Property></Property> + <Property name="label">鏍囪浣�</Property> + <Property name="mapping"> + <Property name="keyProperty">key</Property> + <Property name="valueProperty">value</Property> + <Property name="mapValues"> + <Collection> + <Entity> + <Property name="value">榛勬郸鍖�</Property> + <Property name="key">huangpu</Property> + </Entity> + <Entity> + <Property name="value">寰愭眹鍖�</Property> + <Property name="key">xuhui</Property> + </Entity> + <Entity> + <Property name="value">闀垮畞鍖�</Property> + <Property name="key">changning</Property> + </Entity> + <Entity> + <Property name="value">闈欏畨鍖�</Property> + <Property name="key">jingan</Property> + </Entity> + <Entity> + <Property name="value">鏅檧鍖�</Property> + <Property name="key">putuo</Property> + </Entity> + <Entity> + <Property name="value">铏瑰彛鍖�</Property> + <Property name="key">hongkou</Property> + </Entity> + <Entity> + <Property name="value">鏉ㄦ郸鍖�</Property> + <Property name="key">yangpu</Property> + </Entity> + <Entity> + <Property name="value">闂佃鍖�</Property> + <Property name="key">minhang</Property> + </Entity> + <Entity> + <Property name="value">瀹濆北鍖�</Property> + <Property name="key">baoshan</Property> + </Entity> + <Entity> + <Property name="value">鍢夊畾鍖�</Property> + <Property name="key">jiading</Property> + </Entity> + <Entity> + <Property name="value">娴︿笢鏂板尯</Property> + <Property name="key">pudong</Property> + </Entity> + <Entity> + <Property name="value">閲戝北鍖�</Property> + <Property name="key">jinshan</Property> + </Entity> + <Entity> + <Property name="value">鏉炬睙鍖�</Property> + <Property name="key">songjiang</Property> + </Entity> + <Entity> + <Property name="value">闈掓郸鍖�</Property> + <Property name="key">qingpu</Property> + </Entity> + <Entity> + <Property name="value">濂夎搐鍖�</Property> + <Property name="key">fengxian</Property> + </Entity> + <Entity> + <Property name="value">宕囨槑鍖�</Property> + <Property name="key">chongming</Property> + </Entity> + </Collection> + </Property> + </Property> + </PropertyDef> + <PropertyDef name="pch"> + <Property></Property> + <Property name="label">鎵规鍙�</Property> + </PropertyDef> + <PropertyDef name="bizId"> + <Property></Property> + <Property name="label">涓氬姟id</Property> + <Property name="required">false</Property> + </PropertyDef> + <PropertyDef name="syncTime"> + <Property name="dataType">DateTime</Property> + <Property name="label">鍚屾鏃堕棿</Property> + </PropertyDef> + </DataType> + <DataType name="dtParam"> + <Property name="creationType">com.fzzy.api.data.ApiParam</Property> + <PropertyDef name="kqdm"> + <Property></Property> + <Property name="label">鎵�灞炲簱鍖�</Property> + </PropertyDef> + <PropertyDef name="start"> + <Property name="dataType">Date</Property> + <Property name="label">寮�濮嬫椂闂�</Property> + </PropertyDef> + <PropertyDef name="end"> + <Property name="dataType">Date</Property> + <Property name="label">鎴鏃堕棿</Property> + </PropertyDef> + <PropertyDef name="czbz"> + <Property></Property> + <Property name="label">鎿嶄綔鏍囧織</Property> + <Property name="mapping"> + <Property name="mapValues">${dorado.getDataProvider("apiTriggerService#trigger").getResult("CZBZ")}</Property> + <Property name="keyProperty">code</Property> + <Property name="valueProperty">name</Property> + </Property> + </PropertyDef> + </DataType> </Model> <View layout="regionPadding:10"> - + <Property name="packages">font-awesome,css-common</Property> + <DataSet id="dsMain"> + <Property name="dataType">[dtMain]</Property> + <Property name="dataProvider">sHApi2101PR#listData</Property> + <Property name="pageSize">15</Property> + </DataSet> + <DataSet id="dsQuery"> + <ClientEvent name="onReady">self.insert();</ClientEvent> + <Property name="dataType">dtParam</Property> + </DataSet> + <ToolBar> + <ToolBarLabel> + <Property name="text">宸ュ叿鏍忥細</Property> + <Property name="style"> + <Property name="font-weight">bold</Property> + </Property> + </ToolBarLabel> + <ToolBarButton> + <ClientEvent name="onClick">var query = view.get("#dsQuery").getData();
 +view.get("#dsMain").set("parameter",query).flushAsync();</ClientEvent> + <Property name="caption">鏌ヨ</Property> + <Property name="iconClass">fa fa-search</Property> + <Property name="width">100</Property> + <Property name="exClassName">toolbar-button-push</Property> + </ToolBarButton> + <ToolBarButton id="btnAdd"> + <ClientEvent name="onClick">view.get("#dsMain").insert();
 +view.get("#dialogMain").show();</ClientEvent> + <Property name="caption">鏂板</Property> + <Property name="iconClass">fa fa-plus</Property> + <Property name="width">100</Property> + <Property name="exClassName">toolbar-button</Property> + <Property name="hideMode">display</Property> + </ToolBarButton> + <ToolBarButton id="btnUpdate"> + <ClientEvent name="onClick">var cur = view.get("#dgMain").getCurrentItem();
 +if(cur){
 + view.get("#dialogMain").show();
 +}</ClientEvent> + <Property name="caption">淇敼</Property> + <Property name="iconClass">fa fa-pencil</Property> + <Property name="width">100</Property> + <Property name="exClassName">toolbar-button-warm</Property> + <Property name="hideMode">display</Property> + </ToolBarButton> + <ToolBarButton> + <ClientEvent name="onClick">var cur = view.get("#dgMain").getCurrentItem();
 +view.get("#ajaxDelUpdate").set("parameter",cur).execute(function(result){
 + if(result){
 + $alert(result);
 + } else{
 + cur.set("czbz","d")
 + }
 +});
 +</ClientEvent> + <Property name="caption">鏍囪鍒犻櫎</Property> + <Property name="iconClass">fa fa-minus</Property> + <Property name="exClassName">toolbar-button-warn</Property> + <Property name="width">100</Property> + </ToolBarButton> + <ToolBarButton id="btnDel"> + <ClientEvent name="onClick">var cur = view.get("#dgMain").getCurrentItem();
 +view.get("#ajaxDel").set("parameter",cur).execute(function(result){
 + if(result){
 + $alert(result);
 + } else{
 + cur.remove();
 + }
 +});
 +</ClientEvent> + <Property name="caption">鐩存帴鍒犻櫎</Property> + <Property name="iconClass">fa fa-minus</Property> + <Property name="exClassName">toolbar-button-warn</Property> + <Property name="width">100</Property> + <Property name="hideMode">display</Property> + </ToolBarButton> + <ToolBarButton> + <ClientEvent name="onClick">var select = view.get("#dgMain").get("selection");
 +if(select && select.length > 0){
 + view.get("#ajaxPush").set("parameter",select).execute(function(result){
 + view.get("#dsMain").flushAsync();
 + $notify(result);
 + });
 +}else{
 + $alert("璇峰嬀閫変笂鎶ユ暟鎹紒");
 +}
 +</ClientEvent> + <Property name="caption">鎵嬪姩涓婁紶</Property> + <Property name="iconClass">fa fa-hand-o-up</Property> + <Property name="exClassName">toolbar-button-push</Property> + <Property name="width">100</Property> + </ToolBarButton> + <Fill/> + <ToolBarButton> + <Property name="caption">涓婁紶璁板綍</Property> + <Property name="iconClass">fa fa-bars</Property> + <Property name="exClassName">toolbar-button</Property> + <Property name="width">100</Property> + </ToolBarButton> + </ToolBar> + <AutoForm> + <Property name="dataSet">dsQuery</Property> + <Property name="cols">*,*,*,*</Property> + <Property name="labelAlign">right</Property> + <Property name="labelSeparator">锛�</Property> + <Property name="labelWidth">90</Property> + <AutoFormElement> + <Property name="name">kqdm</Property> + <Property name="property">kqdm</Property> + <Editor/> + </AutoFormElement> + <AutoFormElement> + <Property name="name">start</Property> + <Property name="property">start</Property> + <Editor/> + </AutoFormElement> + <AutoFormElement> + <Property name="name">end</Property> + <Property name="property">end</Property> + <Editor/> + </AutoFormElement> + <AutoFormElement> + <Property name="name">czbz</Property> + <Property name="property">czbz</Property> + <Property name="trigger">autoMappingDropDown2</Property> + <Editor/> + </AutoFormElement> + </AutoForm> + <DataGrid id="dgMain"> + <ClientEvent name="onDataRowDoubleClick">view.get("#dialogMain").show();</ClientEvent> + <Property name="dataSet">dsMain</Property> + <Property name="selectionMode">multiRows</Property> + <Property name="readOnly">true</Property> + <RowNumColumn/> + <RowSelectorColumn> + <Property name="caption">涓婁紶</Property> + </RowSelectorColumn> + <DataColumn name="jjdh"> + <Property name="property">jjdh</Property> + <Property name="align">center</Property> + </DataColumn> + <DataColumn name="jjrq"> + <Property name="property">jjrq</Property> + <Property name="align">center</Property> + </DataColumn> + <DataColumn name="zydh"> + <Property name="property">zydh</Property> + <Property name="align">center</Property> + </DataColumn> + <DataColumn name="zylx"> + <Property name="property">zylx</Property> + <Property name="align">center</Property> + </DataColumn> + <DataColumn name="khmc"> + <Property name="property">khmc</Property> + <Property name="align">center</Property> + </DataColumn> + <DataColumn name="mz"> + <Property name="property">mz</Property> + <Property name="align">center</Property> + </DataColumn> + <DataColumn name="jz"> + <Property name="property">jz</Property> + <Property name="align">center</Property> + </DataColumn> + <DataColumn name="czbz"> + <Property name="property">czbz</Property> + <Property name="align">center</Property> + </DataColumn> + <DataColumn name="zhgxsj"> + <Property name="property">zhgxsj</Property> + <Property name="align">center</Property> + </DataColumn> + </DataGrid> + <ToolBar layoutConstraint="bottom"> + <Fill/> + <DataPilot> + <Property name="itemCodes">pageSize,pages</Property> + <Property name="dataSet">dsMain</Property> + </DataPilot> + </ToolBar> + <Dialog id="dialogMain"> + <Property name="width">80%</Property> + <Property name="caption">鍒颁粨淇℃伅</Property> + <Property name="iconClass">fa fa-sliders</Property> + <Property name="closeable">false</Property> + <Buttons> + <Button> + <ClientEvent name="onClick">var cur = view.get("#dgMain").getCurrentItem();
 +view.get("#updateSave").execute(function(){
 + self.get("parent").hide();
 +});</ClientEvent> + <Property name="caption">淇濆瓨淇敼</Property> + <Property name="iconClass">fa fa-check</Property> + <Property name="exClassName">toolbar-button</Property> + </Button> + <Button> + <ClientEvent name="onClick">var cur = view.get("#dgMain").getCurrentItem();
 +self.get("parent").hide();
 +if(cur) cur.cancel();</ClientEvent> + <Property name="caption">鍙栨秷淇敼</Property> + <Property name="iconClass">fa fa-times</Property> + <Property name="exClassName">toolbar-button-warn</Property> + </Button> + </Buttons> + <Children> + <AutoForm> + <Property name="dataSet">dsMain</Property> + <Property name="cols">*,*,*,*</Property> + <Property name="labelWidth">100</Property> + <Property name="labelAlign">left</Property> + <Property name="labelSeparator">锛�</Property> + <Property name="labelPosition">top</Property> + <AutoFormElement> + <Property name="name">jjdh</Property> + <Property name="property">jjdh</Property> + <Editor/> + </AutoFormElement> + <AutoFormElement> + <Property name="name">kqdm</Property> + <Property name="property">kqdm</Property> + <Editor/> + </AutoFormElement> + <AutoFormElement> + <Property name="name">jjrq</Property> + <Property name="property">jjrq</Property> + <Editor/> + </AutoFormElement> + <AutoFormElement> + <Property name="name">inbillno</Property> + <Property name="property">inbillno</Property> + <Editor/> + </AutoFormElement> + <AutoFormElement> + <Property name="name">jzrq</Property> + <Property name="property">jzrq</Property> + <Editor/> + </AutoFormElement> + <AutoFormElement> + <Property name="name">zydh</Property> + <Property name="property">zydh</Property> + <Editor/> + </AutoFormElement> + <AutoFormElement> + <Property name="name">zylx</Property> + <Property name="property">zylx</Property> + <Editor/> + </AutoFormElement> + <AutoFormElement> + <Property name="name">khmc</Property> + <Property name="property">khmc</Property> + <Editor/> + </AutoFormElement> + <AutoFormElement> + <Property name="name">psplan</Property> + <Property name="property">psplan</Property> + <Editor/> + </AutoFormElement> + <AutoFormElement> + <Property name="name">hth</Property> + <Property name="property">hth</Property> + <Editor/> + </AutoFormElement> + <AutoFormElement> + <Property name="name">cch</Property> + <Property name="property">cch</Property> + <Editor/> + </AutoFormElement> + <AutoFormElement> + <Property name="name">zzchh</Property> + <Property name="property">zzchh</Property> + <Editor/> + </AutoFormElement> + <AutoFormElement> + <Property name="name">lspzdmdl</Property> + <Property name="property">lspzdmdl</Property> + <Editor/> + </AutoFormElement> + <AutoFormElement> + <Property name="name">lsxzdm</Property> + <Property name="property">lsxzdm</Property> + <Editor/> + </AutoFormElement> + <AutoFormElement> + <Property name="name">lldm</Property> + <Property name="property">lldm</Property> + <Editor/> + </AutoFormElement> + <AutoFormElement> + <Property name="name">ajdm</Property> + <Property name="property">ajdm</Property> + <Editor/> + </AutoFormElement> + <AutoFormElement> + <Property name="name">hwdm</Property> + <Property name="property">hwdm</Property> + <Editor/> + </AutoFormElement> + <AutoFormElement> + <Property name="name">yrajdh</Property> + <Property name="property">yrajdh</Property> + <Editor/> + </AutoFormElement> + <AutoFormElement> + <Property name="name">yrhwdm</Property> + <Property name="property">yrhwdm</Property> + <Editor/> + </AutoFormElement> + <AutoFormElement> + <Property name="name">zxb</Property> + <Property name="property">zxb</Property> + <Editor/> + </AutoFormElement> + <AutoFormElement> + <Property name="name">bzwzkl</Property> + <Property name="property">bzwzkl</Property> + <Editor/> + </AutoFormElement> + <AutoFormElement> + <Property name="name">mz</Property> + <Property name="property">mz</Property> + <Editor/> + </AutoFormElement> + <AutoFormElement> + <Property name="name">jz</Property> + <Property name="property">jz</Property> + <Editor/> + </AutoFormElement> + <AutoFormElement> + <Property name="name">czbz</Property> + <Property name="property">czbz</Property> + <Editor/> + </AutoFormElement> + <AutoFormElement> + <Property name="name">zhgxsj</Property> + <Property name="property">zhgxsj</Property> + <Editor/> + </AutoFormElement> + <AutoFormElement> + <Property name="name">pch</Property> + <Property name="property">pch</Property> + <Editor/> + </AutoFormElement> + <AutoFormElement> + <Property name="name">bjw</Property> + <Property name="property">bjw</Property> + <Editor/> + </AutoFormElement> + <AutoFormElement> + <Property name="name">bizId</Property> + <Property name="property">bizId</Property> + <Editor/> + </AutoFormElement> + <AutoFormElement> + <Property name="name">syncTime</Property> + <Property name="property">syncTime</Property> + <Editor/> + </AutoFormElement> + </AutoForm> + </Children> + <Tools/> + </Dialog> + <UpdateAction id="updateSave"> + <Property name="dataResolver">sHApi2101PR#saveData</Property> + <UpdateItem> + <Property name="dataPath">[#current]</Property> + <Property name="dataSet">dsMain</Property> + </UpdateItem> + </UpdateAction> + <AjaxAction id="ajaxPush"> + <Property name="service">sHApi2101PR#pushData</Property> + <Property name="confirmMessage">纭畾瑕佷笂鎶ヤ箞锛�</Property> + </AjaxAction> + <AjaxAction id="ajaxDel"> + <Property name="service">sHApi2101PR#delData</Property> + <Property name="confirmMessage">褰撳墠鏁版嵁鍒犻櫎鍚庢棤娉曟仮澶嶏紝璇风‘璁よ鍒犻櫎涔堬紵</Property> + </AjaxAction> + <AjaxAction id="ajaxDelUpdate"> + <Property name="service">sHApi2101PR#delUpdate</Property> + <Property name="confirmMessage">纭畾瑕佸皢鏁版嵁鏍囪涓哄垹闄や箞锛�</Property> + </AjaxAction> </View> </ViewConfig> diff --git a/src/main/java/com/fzzy/otherview/sh2023/ShApi2102.view.xml b/src/main/java/com/fzzy/otherview/sh2023/ShApi2102.view.xml index 360037f..2120356 100644 --- a/src/main/java/com/fzzy/otherview/sh2023/ShApi2102.view.xml +++ b/src/main/java/com/fzzy/otherview/sh2023/ShApi2102.view.xml @@ -3,9 +3,398 @@ <Arguments/> <Context/> <Model> - + <DataType name="dtMain"> + <Property name="creationType">com.fzzy.push.sh2023.dto.SH2023Api2102</Property> + <PropertyDef name="drdh"> + <Property/> + <Property name="label">鍊掑叆鍗曞彿</Property> + </PropertyDef> + <PropertyDef name="drdw"> + <Property/> + <Property name="label">鍊掑叆鍗曚綅</Property> + </PropertyDef> + <PropertyDef name="drhwsl"> + <Property/> + <Property name="label">鍊掑叆鏁伴噺</Property> + <Property name="dataType">Double</Property> + <Property name="displayFormat">#0.000000</Property> + </PropertyDef> + <PropertyDef name="drhwdm"> + <Property/> + <Property name="label">鍊掑叆璐т綅浠g爜</Property> + </PropertyDef> + <PropertyDef name="czbz"> + <Property/> + <Property name="label">鎿嶄綔鏍囧織</Property> + <Property name="mapping"> + <Property name="mapValues">${dorado.getDataProvider("apiTriggerService#trigger").getResult("CZBZ")}</Property> + <Property name="keyProperty">code</Property> + <Property name="valueProperty">name</Property> + </Property> + </PropertyDef> + <PropertyDef name="zhgxsj"> + <Property name="dataType">Date</Property> + <Property name="label">鏈�鍚庢洿鏂版椂闂�</Property> + </PropertyDef> + <PropertyDef name="dcrq"> + <Property name="dataType">Date</Property> + <Property name="label">鍊掑叆鏃ユ湡</Property> + </PropertyDef> + <PropertyDef name="kddh"> + <Property/> + <Property name="label">搴撹皟鍗曞彿</Property> + </PropertyDef> + <PropertyDef name="bjw"> + <Property/> + <Property name="label">鏍囪浣�</Property> + </PropertyDef> + <PropertyDef name="pch"> + <Property/> + <Property name="label">鎵规鍙�</Property> + </PropertyDef> + <PropertyDef name="bizId"> + <Property/> + <Property name="label">涓氬姟id</Property> + </PropertyDef> + <PropertyDef name="kqdm"> + <Property/> + <Property name="label">搴撳尯浠g爜</Property> + </PropertyDef> + <PropertyDef name="syncTime"> + <Property name="dataType">Date</Property> + <Property name="label">鍚屾鏃堕棿</Property> + </PropertyDef> + </DataType> + <DataType name="dtParam"> + <Property name="creationType">com.fzzy.api.data.ApiParam</Property> + <PropertyDef name="kqdm"> + <Property></Property> + <Property name="label">鎵�灞炲簱鍖�</Property> + </PropertyDef> + <PropertyDef name="start"> + <Property name="dataType">Date</Property> + <Property name="label">寮�濮嬫椂闂�</Property> + </PropertyDef> + <PropertyDef name="end"> + <Property name="dataType">Date</Property> + <Property name="label">鎴鏃堕棿</Property> + </PropertyDef> + <PropertyDef name="czbz"> + <Property></Property> + <Property name="label">鎿嶄綔鏍囧織</Property> + <Property name="mapping"> + <Property name="mapValues">${dorado.getDataProvider("apiTriggerService#trigger").getResult("CZBZ")}</Property> + <Property name="keyProperty">code</Property> + <Property name="valueProperty">name</Property> + </Property> + </PropertyDef> + </DataType> </Model> <View layout="regionPadding:10"> - + <Property name="packages">font-awesome,css-common</Property> + <DataSet id="dsMain"> + <Property name="dataType">[dtMain]</Property> + <Property name="dataProvider">sHApi2102PR#listData</Property> + <Property name="pageSize">15</Property> + </DataSet> + <DataSet id="dsQuery"> + <ClientEvent name="onReady">self.insert();</ClientEvent> + <Property name="dataType">dtParam</Property> + </DataSet> + <ToolBar> + <ToolBarLabel> + <Property name="text">宸ュ叿鏍忥細</Property> + <Property name="style"> + <Property name="font-weight">bold</Property> + </Property> + </ToolBarLabel> + <ToolBarButton> + <ClientEvent name="onClick">var query = view.get("#dsQuery").getData();
 +view.get("#dsMain").set("parameter",query).flushAsync();</ClientEvent> + <Property name="caption">鏌ヨ</Property> + <Property name="iconClass">fa fa-search</Property> + <Property name="width">100</Property> + <Property name="exClassName">toolbar-button-push</Property> + </ToolBarButton> + <ToolBarButton id="btnAdd"> + <ClientEvent name="onClick">view.get("#dsMain").insert();
 +view.get("#dialogMain").show();</ClientEvent> + <Property name="caption">鏂板</Property> + <Property name="iconClass">fa fa-plus</Property> + <Property name="width">100</Property> + <Property name="exClassName">toolbar-button</Property> + <Property name="hideMode">display</Property> + </ToolBarButton> + <ToolBarButton id="btnUpdate"> + <ClientEvent name="onClick">var cur = view.get("#dgMain").getCurrentItem();
 +if(cur){
 + view.get("#dialogMain").show();
 +}</ClientEvent> + <Property name="caption">淇敼</Property> + <Property name="iconClass">fa fa-pencil</Property> + <Property name="width">100</Property> + <Property name="exClassName">toolbar-button-warm</Property> + <Property name="hideMode">display</Property> + </ToolBarButton> + <ToolBarButton> + <ClientEvent name="onClick">var cur = view.get("#dgMain").getCurrentItem();
 +view.get("#ajaxDelUpdate").set("parameter",cur).execute(function(result){
 + if(result){
 + $alert(result);
 + } else{
 + cur.set("czbz","d")
 + }
 +});
 +</ClientEvent> + <Property name="caption">鏍囪鍒犻櫎</Property> + <Property name="iconClass">fa fa-minus</Property> + <Property name="exClassName">toolbar-button-warn</Property> + <Property name="width">100</Property> + </ToolBarButton> + <ToolBarButton id="btnDel"> + <ClientEvent name="onClick">var cur = view.get("#dgMain").getCurrentItem();
 +view.get("#ajaxDel").set("parameter",cur).execute(function(result){
 + if(result){
 + $alert(result);
 + } else{
 + cur.remove();
 + }
 +});
 +</ClientEvent> + <Property name="caption">鐩存帴鍒犻櫎</Property> + <Property name="iconClass">fa fa-minus</Property> + <Property name="exClassName">toolbar-button-warn</Property> + <Property name="width">100</Property> + <Property name="hideMode">display</Property> + </ToolBarButton> + <ToolBarButton> + <ClientEvent name="onClick">var select = view.get("#dgMain").get("selection");
 +if(select && select.length > 0){
 + view.get("#ajaxPush").set("parameter",select).execute(function(result){
 + view.get("#dsMain").flushAsync();
 + $notify(result);
 + });
 +}else{
 + $alert("璇峰嬀閫変笂鎶ユ暟鎹紒");
 +}
 +</ClientEvent> + <Property name="caption">鎵嬪姩涓婁紶</Property> + <Property name="iconClass">fa fa-hand-o-up</Property> + <Property name="exClassName">toolbar-button-push</Property> + <Property name="width">100</Property> + </ToolBarButton> + <Fill/> + <ToolBarButton> + <Property name="caption">涓婁紶璁板綍</Property> + <Property name="iconClass">fa fa-bars</Property> + <Property name="exClassName">toolbar-button</Property> + <Property name="width">100</Property> + </ToolBarButton> + </ToolBar> + <AutoForm> + <Property name="dataSet">dsQuery</Property> + <Property name="cols">*,*,*,*</Property> + <Property name="labelAlign">right</Property> + <Property name="labelSeparator">锛�</Property> + <Property name="labelWidth">90</Property> + <AutoFormElement> + <Property name="name">kqdm</Property> + <Property name="property">kqdm</Property> + <Editor/> + </AutoFormElement> + <AutoFormElement> + <Property name="name">start</Property> + <Property name="property">start</Property> + <Editor/> + </AutoFormElement> + <AutoFormElement> + <Property name="name">end</Property> + <Property name="property">end</Property> + <Editor/> + </AutoFormElement> + <AutoFormElement> + <Property name="name">czbz</Property> + <Property name="property">czbz</Property> + <Property name="trigger">autoMappingDropDown2</Property> + <Editor/> + </AutoFormElement> + </AutoForm> + <DataGrid id="dgMain"> + <ClientEvent name="onDataRowDoubleClick">view.get("#dialogMain").show();</ClientEvent> + <Property name="dataSet">dsMain</Property> + <Property name="selectionMode">multiRows</Property> + <Property name="readOnly">true</Property> + <RowNumColumn/> + <RowSelectorColumn> + <Property name="caption">涓婁紶</Property> + </RowSelectorColumn> + <DataColumn name="drdh"> + <Property name="property">drdh</Property> + <Property name="align">center</Property> + </DataColumn> + <DataColumn name="drdw"> + <Property name="property">drdw</Property> + <Property name="align">center</Property> + </DataColumn> + <DataColumn name="drhwsl"> + <Property name="property">drhwsl</Property> + <Property name="align">center</Property> + </DataColumn> + <DataColumn name="drhwdm"> + <Property name="property">drhwdm</Property> + <Property name="align">center</Property> + </DataColumn> + <DataColumn name="czbz"> + <Property name="property">czbz</Property> + <Property name="align">center</Property> + </DataColumn> + <DataColumn name="zhgxsj"> + <Property name="property">zhgxsj</Property> + <Property name="align">center</Property> + </DataColumn> + <DataColumn name="dcrq"> + <Property name="property">dcrq</Property> + <Property name="align">center</Property> + </DataColumn> + <DataColumn name="kddh"> + <Property name="property">kddh</Property> + <Property name="align">center</Property> + </DataColumn> + <DataColumn name="bjw"> + <Property name="property">bjw</Property> + <Property name="align">center</Property> + </DataColumn> + <DataColumn name="pch"> + <Property name="property">pch</Property> + <Property name="align">center</Property> + </DataColumn> + </DataGrid> + <ToolBar layoutConstraint="bottom"> + <Fill/> + <DataPilot> + <Property name="itemCodes">pageSize,pages</Property> + <Property name="dataSet">dsMain</Property> + </DataPilot> + </ToolBar> + <Dialog id="dialogMain"> + <Property name="width">80%</Property> + <Property name="caption">鍒颁粨淇℃伅</Property> + <Property name="iconClass">fa fa-sliders</Property> + <Property name="closeable">false</Property> + <Buttons> + <Button> + <ClientEvent name="onClick">var cur = view.get("#dgMain").getCurrentItem();
 +view.get("#updateSave").execute(function(){
 + self.get("parent").hide();
 +});</ClientEvent> + <Property name="caption">淇濆瓨淇敼</Property> + <Property name="iconClass">fa fa-check</Property> + <Property name="exClassName">toolbar-button</Property> + </Button> + <Button> + <ClientEvent name="onClick">var cur = view.get("#dgMain").getCurrentItem();
 +self.get("parent").hide();
 +if(cur) cur.cancel();</ClientEvent> + <Property name="caption">鍙栨秷淇敼</Property> + <Property name="iconClass">fa fa-times</Property> + <Property name="exClassName">toolbar-button-warn</Property> + </Button> + </Buttons> + <Children> + <AutoForm> + <Property name="dataSet">dsMain</Property> + <Property name="cols">*,*</Property> + <Property name="labelWidth">150</Property> + <Property name="labelAlign">left</Property> + <Property name="labelSeparator">锛�</Property> + <Property name="labelPosition">left</Property> + <AutoFormElement> + <Property name="name">drdh</Property> + <Property name="property">drdh</Property> + <Editor/> + </AutoFormElement> + <AutoFormElement> + <Property name="name">drdw</Property> + <Property name="property">drdw</Property> + <Editor/> + </AutoFormElement> + <AutoFormElement> + <Property name="name">drhwsl</Property> + <Property name="property">drhwsl</Property> + <Editor/> + </AutoFormElement> + <AutoFormElement> + <Property name="name">drhwdm</Property> + <Property name="property">drhwdm</Property> + <Editor/> + </AutoFormElement> + <AutoFormElement> + <Property name="name">czbz</Property> + <Property name="property">czbz</Property> + <Editor/> + </AutoFormElement> + <AutoFormElement> + <Property name="name">zhgxsj</Property> + <Property name="property">zhgxsj</Property> + <Editor/> + </AutoFormElement> + <AutoFormElement> + <Property name="name">dcrq</Property> + <Property name="property">dcrq</Property> + <Editor/> + </AutoFormElement> + <AutoFormElement> + <Property name="name">kddh</Property> + <Property name="property">kddh</Property> + <Editor/> + </AutoFormElement> + <AutoFormElement> + <Property name="name">bjw</Property> + <Property name="property">bjw</Property> + <Editor/> + </AutoFormElement> + <AutoFormElement> + <Property name="name">pch</Property> + <Property name="property">pch</Property> + <Editor/> + </AutoFormElement> + <AutoFormElement> + <Property name="name">bizId</Property> + <Property name="property">bizId</Property> + <Editor/> + </AutoFormElement> + <AutoFormElement> + <Property name="name">kqdm</Property> + <Property name="property">kqdm</Property> + <Editor/> + </AutoFormElement> + <AutoFormElement> + <Property name="name">syncTime</Property> + <Property name="property">syncTime</Property> + <Editor/> + </AutoFormElement> + </AutoForm> + </Children> + <Tools/> + </Dialog> + <UpdateAction id="updateSave"> + <Property name="dataResolver">sHApi2102PR#saveData</Property> + <UpdateItem> + <Property name="dataPath">[#current]</Property> + <Property name="dataSet">dsMain</Property> + </UpdateItem> + </UpdateAction> + <AjaxAction id="ajaxPush"> + <Property name="service">sHApi2102PR#pushData</Property> + <Property name="confirmMessage">纭畾瑕佷笂鎶ヤ箞锛�</Property> + </AjaxAction> + <AjaxAction id="ajaxDel"> + <Property name="service">sHApi2102PR#delData</Property> + <Property name="confirmMessage">褰撳墠鏁版嵁鍒犻櫎鍚庢棤娉曟仮澶嶏紝璇风‘璁よ鍒犻櫎涔堬紵</Property> + </AjaxAction> + <AjaxAction id="ajaxDelUpdate"> + <Property name="service">sHApi2103PR#delUpdate</Property> + <Property name="confirmMessage">纭畾瑕佸皢鏁版嵁鏍囪涓哄垹闄や箞锛�</Property> + </AjaxAction> </View> </ViewConfig> diff --git a/src/main/java/com/fzzy/otherview/sh2023/pr/SHApi2101PR.java b/src/main/java/com/fzzy/otherview/sh2023/pr/SHApi2101PR.java index 5e35394..bdb0556 100644 --- a/src/main/java/com/fzzy/otherview/sh2023/pr/SHApi2101PR.java +++ b/src/main/java/com/fzzy/otherview/sh2023/pr/SHApi2101PR.java @@ -1,6 +1,44 @@ package com.fzzy.otherview.sh2023.pr; +import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.JSONObject; +import com.bstek.dorado.annotation.DataProvider; +import com.bstek.dorado.annotation.DataResolver; +import com.bstek.dorado.annotation.Expose; +import com.bstek.dorado.data.provider.Page; +import com.fzzy.api.Constant; +import com.fzzy.api.data.ApiParam; +import com.fzzy.api.dto.ResponseDto; +import com.fzzy.api.entity.Api1204; +import com.fzzy.api.entity.ApiConfs; +import com.fzzy.api.entity.ApiInfoData; +import com.fzzy.api.service.ApiCommonService; +import com.fzzy.api.service.ApiPushManager; +import com.fzzy.api.service.ApiRemoteService; +import com.fzzy.api.utils.ContextUtil; +import com.fzzy.api.view.repository.ApiInfoDataRep; +import com.fzzy.otherview.whhpjl.WhjlConstant; +import com.fzzy.otherview.whhpjl.dto.WhjlApi1101; +import com.fzzy.push.sh2023.SH2023Constant; +import com.fzzy.push.sh2023.dto.SH2023Api2101; +import org.apache.commons.lang.StringUtils; +import org.apache.commons.lang.time.DateFormatUtils; +import org.springframework.beans.BeanUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.data.domain.PageRequest; +import org.springframework.data.domain.Pageable; +import org.springframework.data.domain.Sort; +import org.springframework.data.jpa.domain.Specification; import org.springframework.stereotype.Component; + +import javax.persistence.criteria.CriteriaBuilder; +import javax.persistence.criteria.CriteriaQuery; +import javax.persistence.criteria.Predicate; +import javax.persistence.criteria.Root; +import java.util.ArrayList; +import java.util.Date; +import java.util.List; +import java.util.Map; /** * 涓婃捣甯傛帴鍙�-2101 妫�鏂ゅ崟 @@ -8,8 +46,158 @@ * @author czt * @date 2023/8/17 */ -@Component +@Component(value = "sHApi2101PR") public class SHApi2101PR { + @Autowired + private ApiInfoDataRep apiInfoDataRep; + @Autowired + private ApiCommonService apiCommonService; + @Autowired + private ApiPushManager apiPushManager; + + /** + * 鑾峰彇淇℃伅 + * sHApi2101PR#listData + * + * @return + */ + @DataProvider + public void listData(Page<SH2023Api2101> page, ApiParam param) { + + Pageable pageable = PageRequest.of(page.getPageNo() - 1, page.getPageSize(), Sort.Direction.DESC, "updateTime"); + + Specification specification = new Specification<ApiInfoData>() { + private static final long serialVersionUID = 1L; + + @Override + public Predicate toPredicate(Root<ApiInfoData> root, CriteriaQuery<?> criteriaQuery, CriteriaBuilder criteriaBuilder) { + List<Predicate> predicates = new ArrayList<>(); //鎵�鏈夌殑鏂█ + Predicate predicate = criteriaBuilder.equal(root.get("inteId"), SH2023Constant.SH_2023_API_CODE_2101); + predicates.add(predicate); + if (null != param) { + if (StringUtils.isNotBlank(param.getKqdm())) { + Predicate predicate1 = criteriaBuilder.equal(root.get("kqdm"), param.getKqdm()); + predicates.add(predicate1); + } + + if (StringUtils.isNotBlank(param.getCzbz())) { + Predicate predicate2 = criteriaBuilder.equal(root.get("czbz"), param.getCzbz()); + predicates.add(predicate2); + } + if (null != param.getStart()) { + Predicate predicate3 = criteriaBuilder.greaterThan(root.get("updateTime"), ContextUtil.getCurZero(param.getStart())); + predicates.add(predicate3); + } + + if (null != param.getEnd()) { + Predicate predicate4 = criteriaBuilder.lessThan(root.get("updateTime"), ContextUtil.getNextZero(param.getEnd())); + predicates.add(predicate4); + } + } + return criteriaBuilder.and(predicates.toArray(new Predicate[0])); + } + }; + org.springframework.data.domain.Page<ApiInfoData> japPage = apiInfoDataRep.findAll(specification, pageable); + page.setEntityCount((int) japPage.getTotalElements()); + List<SH2023Api2101> list = new ArrayList<>(); + SH2023Api2101 sh2023Api2101; + for (ApiInfoData infoData : japPage.getContent()) { + sh2023Api2101 = JSONObject.parseObject(infoData.getData(), SH2023Api2101.class); + list.add(sh2023Api2101); + } + page.setEntities(list); + + } + + /** + * sHApi2101PR#saveData + */ + @DataResolver + public void saveData(SH2023Api2101 data) { + if (null == data.getPch() || data.getPch() == "") { + data.setPch(data.getHwdm() + DateFormatUtils.format(data.getJjrq(), "yyyy")); + } + ApiInfoData infoData = new ApiInfoData(); + infoData.setId(data.getJjdh()); + infoData.setKqdm(data.getKqdm()); + infoData.setInteId(SH2023Constant.SH_2023_API_CODE_2101); + infoData.setUpdateTime(new Date()); + infoData.setDataId(data.getJjdh()); + infoData.setData(JSON.toJSONString(data)); + infoData.setCzbz(data.getCzbz()); + infoData.setRemarks("澶囨敞淇℃伅"); + + apiInfoDataRep.save(infoData); + } + + /** + * sHApi2101PR#delData + */ + @Expose + public void delData(SH2023Api2101 data) { + apiInfoDataRep.deleteById(data.getJjdh()); + } + + /** + * sHApi2101PR#delUpdate + */ + @Expose + public String delUpdate(SH2023Api2101 entity) { + if (null == entity) { + return "鏃犳暟鎹墽琛�"; + } + entity.setCzbz(Constant.CZBZ_D); + apiInfoDataRep.updateStatus(entity.getJjdh(), JSON.toJSONString(entity), Constant.CZBZ_D); + return null; + } + + @Expose + public String pushData(List<SH2023Api2101> items) { + ResponseDto responseDto; + String result = ""; + + String kqdm = items.get(0).getKqdm(); + ApiConfs apiConf = apiCommonService.getConf(kqdm); + + if (null == apiConf) return "绯荤粺娌℃湁鑾峰彇鍒板綋鍓嶅簱鍖洪厤缃俊鎭紝鎵ц澶辫触"; + + //灏佽鍙傛暟 + ApiParam param = new ApiParam(apiConf, "21", SH2023Constant.SH_2023_API_CODE_2101); + + //鑾峰彇瀹炵幇鎺ュ彛 + ApiRemoteService apiService = apiPushManager.getApiRemoteService(param.getPushProtocol()); + if (null == apiService) { + return "绯荤粺娌℃湁褰撳墠鎺ㄩ�佸崗璁厤缃紝鎵ц澶辫触"; + } + + //鎺ㄩ�侊紝鏁版嵁涓洪泦鍚堝舰寮� + responseDto = apiService.pushData(param, apiConf, items); + if (responseDto.getSuccess() == 0) { + //鎺ㄩ�佹垚鍔燂紝鏇存柊鏁版嵁涓婁紶鐘舵�� + + ApiInfoData infoData; + for (SH2023Api2101 data : items) { + if (Constant.CZBZ_I.equals(data.getCzbz())) { + + infoData = new ApiInfoData(); + infoData.setId(data.getBizId()); + infoData.setKqdm(data.getKqdm()); + infoData.setInteType("21"); + infoData.setInteId(SH2023Constant.SH_2023_API_CODE_2101); + infoData.setUpdateTime(new Date()); + infoData.setDataId(data.getBizId()); + + data.setCzbz(Constant.CZBZ_U); + infoData.setCzbz(Constant.CZBZ_U); + infoData.setData(JSON.toJSONString(data)); + + apiInfoDataRep.save(infoData); + } + } + result += responseDto.toString(); + } + return result; + } } diff --git a/src/main/java/com/fzzy/otherview/sh2023/pr/SHApi2102PR.java b/src/main/java/com/fzzy/otherview/sh2023/pr/SHApi2102PR.java new file mode 100644 index 0000000..48d8efc --- /dev/null +++ b/src/main/java/com/fzzy/otherview/sh2023/pr/SHApi2102PR.java @@ -0,0 +1,200 @@ +package com.fzzy.otherview.sh2023.pr; + +import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.JSONObject; +import com.bstek.dorado.annotation.DataProvider; +import com.bstek.dorado.annotation.DataResolver; +import com.bstek.dorado.annotation.Expose; +import com.bstek.dorado.data.provider.Page; +import com.fzzy.api.Constant; +import com.fzzy.api.data.ApiParam; +import com.fzzy.api.dto.ResponseDto; +import com.fzzy.api.entity.ApiConfs; +import com.fzzy.api.entity.ApiInfoData; +import com.fzzy.api.service.ApiCommonService; +import com.fzzy.api.service.ApiPushManager; +import com.fzzy.api.service.ApiRemoteService; +import com.fzzy.api.utils.ContextUtil; +import com.fzzy.api.view.repository.ApiInfoDataRep; +import com.fzzy.push.sh2023.SH2023Constant; +import com.fzzy.push.sh2023.dto.SH2023Api2102; +import org.apache.commons.lang.StringUtils; +import org.apache.commons.lang.time.DateFormatUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.data.domain.PageRequest; +import org.springframework.data.domain.Pageable; +import org.springframework.data.domain.Sort; +import org.springframework.data.jpa.domain.Specification; +import org.springframework.stereotype.Component; + +import javax.persistence.criteria.CriteriaBuilder; +import javax.persistence.criteria.CriteriaQuery; +import javax.persistence.criteria.Predicate; +import javax.persistence.criteria.Root; +import java.util.ArrayList; +import java.util.Date; +import java.util.List; + +/** + * 涓婃捣甯傛帴鍙�-2102 妫�鏂ゅ崟 + * + * @author czt + * @date 2023/8/17 + */ +@Component(value = "sHApi2102PR") +public class SHApi2102PR { + + @Autowired + private ApiInfoDataRep apiInfoDataRep; + @Autowired + private ApiCommonService apiCommonService; + @Autowired + private ApiPushManager apiPushManager; + + /** + * 鑾峰彇淇℃伅 + * sHApi2102PR#listData + * + * @return + */ + @DataProvider + public void listData(Page<SH2023Api2102> page, ApiParam param) { + + Pageable pageable = PageRequest.of(page.getPageNo() - 1, page.getPageSize(), Sort.Direction.DESC, "updateTime"); + + Specification specification = new Specification<ApiInfoData>() { + private static final long serialVersionUID = 1L; + + @Override + public Predicate toPredicate(Root<ApiInfoData> root, CriteriaQuery<?> criteriaQuery, CriteriaBuilder criteriaBuilder) { + List<Predicate> predicates = new ArrayList<>(); //鎵�鏈夌殑鏂█ + + Predicate predicate = criteriaBuilder.equal(root.get("inteId"), SH2023Constant.SH_2023_API_CODE_2102); + predicates.add(predicate); + + if (null != param) { + if (StringUtils.isNotBlank(param.getKqdm())) { + Predicate predicate1 = criteriaBuilder.equal(root.get("kqdm"), param.getKqdm()); + predicates.add(predicate1); + } + + if (StringUtils.isNotBlank(param.getCzbz())) { + Predicate predicate2 = criteriaBuilder.equal(root.get("czbz"), param.getCzbz()); + predicates.add(predicate2); + } + if (null != param.getStart()) { + Predicate predicate3 = criteriaBuilder.greaterThan(root.get("updateTime"), ContextUtil.getCurZero(param.getStart())); + predicates.add(predicate3); + } + + if (null != param.getEnd()) { + Predicate predicate4 = criteriaBuilder.lessThan(root.get("updateTime"), ContextUtil.getNextZero(param.getEnd())); + predicates.add(predicate4); + } + } + return criteriaBuilder.and(predicates.toArray(new Predicate[0])); + } + }; + org.springframework.data.domain.Page<ApiInfoData> japPage = apiInfoDataRep.findAll(specification, pageable); + page.setEntityCount((int) japPage.getTotalElements()); + List<SH2023Api2102> list = new ArrayList<>(); + SH2023Api2102 sh2023Api2102; + for (ApiInfoData infoData : japPage.getContent()) { + sh2023Api2102 = JSONObject.parseObject(infoData.getData(), SH2023Api2102.class); + list.add(sh2023Api2102); + } + page.setEntities(list); + + } + + /** + * sHApi2102PR#saveData + */ + @DataResolver + public void saveData(SH2023Api2102 data) { + if (null == data.getPch() || data.getPch() == "") { + data.setPch(data.getDrhwdm() + DateFormatUtils.format(data.getDcrq(), "yyyy")); + } + ApiInfoData infoData = new ApiInfoData(); + infoData.setId(data.getDrdh()); + infoData.setKqdm(data.getDrhwdm().substring(0, 21)); + infoData.setInteId(SH2023Constant.SH_2023_API_CODE_2102); + infoData.setUpdateTime(new Date()); + infoData.setDataId(data.getDrdh()); + infoData.setData(JSON.toJSONString(data)); + infoData.setCzbz(data.getCzbz()); + infoData.setRemarks("澶囨敞淇℃伅"); + + apiInfoDataRep.save(infoData); + } + + /** + * sHApi2102PR#delData + */ + @Expose + public void delData(SH2023Api2102 data) { + apiInfoDataRep.deleteById(data.getDrdh()); + } + + /** + * sHApi2102PR#delUpdate + */ + @Expose + public String delUpdate(SH2023Api2102 entity) { + if (null == entity) { + return "鏃犳暟鎹墽琛�"; + } + entity.setCzbz(Constant.CZBZ_D); + apiInfoDataRep.updateStatus(entity.getDrdh(), JSON.toJSONString(entity), Constant.CZBZ_D); + return null; + } + + @Expose + public String pushData(List<SH2023Api2102> items) { + ResponseDto responseDto; + String result = ""; + + String kqdm = items.get(0).getKqdm(); + ApiConfs apiConf = apiCommonService.getConf(kqdm); + + if (null == apiConf) return "绯荤粺娌℃湁鑾峰彇鍒板綋鍓嶅簱鍖洪厤缃俊鎭紝鎵ц澶辫触"; + + //灏佽鍙傛暟 + ApiParam param = new ApiParam(apiConf, "21", SH2023Constant.SH_2023_API_CODE_2102); + + //鑾峰彇瀹炵幇鎺ュ彛 + ApiRemoteService apiService = apiPushManager.getApiRemoteService(param.getPushProtocol()); + if (null == apiService) { + return "绯荤粺娌℃湁褰撳墠鎺ㄩ�佸崗璁厤缃紝鎵ц澶辫触"; + } + + //鎺ㄩ�侊紝鏁版嵁涓洪泦鍚堝舰寮� + responseDto = apiService.pushData(param, apiConf, items); + if (responseDto.getSuccess() == 0) { + //鎺ㄩ�佹垚鍔燂紝鏇存柊鏁版嵁涓婁紶鐘舵�� + + ApiInfoData infoData; + for (SH2023Api2102 data : items) { + if (Constant.CZBZ_I.equals(data.getCzbz())) { + + infoData = new ApiInfoData(); + infoData.setId(data.getBizId()); + infoData.setKqdm(data.getKqdm()); + infoData.setInteType("21"); + infoData.setInteId(SH2023Constant.SH_2023_API_CODE_2102); + infoData.setUpdateTime(new Date()); + infoData.setDataId(data.getBizId()); + + data.setCzbz(Constant.CZBZ_U); + infoData.setCzbz(Constant.CZBZ_U); + infoData.setData(JSON.toJSONString(data)); + + apiInfoDataRep.save(infoData); + } + } + result += responseDto.toString(); + } + return result; + } + +} diff --git a/src/main/java/com/fzzy/push/sh2023/dto/SH2023Api2101.java b/src/main/java/com/fzzy/push/sh2023/dto/SH2023Api2101.java index 56b0a0e..0dde683 100644 --- a/src/main/java/com/fzzy/push/sh2023/dto/SH2023Api2101.java +++ b/src/main/java/com/fzzy/push/sh2023/dto/SH2023Api2101.java @@ -6,6 +6,7 @@ import lombok.Data; import lombok.EqualsAndHashCode; +import javax.persistence.Column; import java.io.Serializable; import java.util.Date; @@ -17,7 +18,7 @@ */ @Data @EqualsAndHashCode(callSuper = false) -public class SH2023Api2101 extends ApiParent implements Serializable { +public class SH2023Api2101 implements Serializable { /** * */ @@ -111,4 +112,14 @@ @PropertyDef(label = "鏍囪浣�") private String bjw; + @JSONField(serialize = false) + @PropertyDef(label = "涓氬姟id") + @Column(name = "bizId", length = 40) + private String bizId; + + @JSONField(serialize = false) + @PropertyDef(label = "鍚屾鏃堕棿", description = "浠庣伯搴撶郴缁熷悓姝ュ埌鎺ュ彛绠$悊涓績鐨勬椂闂�") + @Column(name = "syncTime") + private Date syncTime; + } diff --git a/src/main/java/com/fzzy/push/sh2023/dto/SH2023Api2102.java b/src/main/java/com/fzzy/push/sh2023/dto/SH2023Api2102.java index 40523ba..f49d834 100644 --- a/src/main/java/com/fzzy/push/sh2023/dto/SH2023Api2102.java +++ b/src/main/java/com/fzzy/push/sh2023/dto/SH2023Api2102.java @@ -2,6 +2,7 @@ import com.alibaba.fastjson.annotation.JSONField; import com.bstek.dorado.annotation.PropertyDef; +import com.fzzy.api.entity.ApiParent; import lombok.Data; import lombok.EqualsAndHashCode; @@ -13,7 +14,7 @@ */ @Data @EqualsAndHashCode(callSuper = false) -public class SH2023Api2102 implements Serializable { +public class SH2023Api2102 extends ApiParent implements Serializable { /** * */ @@ -26,7 +27,7 @@ private String drdw; @PropertyDef(label = "鍊掑叆鏁伴噺") - private String drhwsl; + private Double drhwsl; @PropertyDef(label = "鍊掑叆璐т綅浠g爜") private String drhwdm; -- Gitblit v1.9.3