From 6fbd63022d55e31cffd60b4e390d608e474e99c0 Mon Sep 17 00:00:00 2001 From: YYC <1833023622@qq.com> Date: 星期六, 21 十月 2023 16:15:36 +0800 Subject: [PATCH] 账面库存 --- igds-core/src/main/java/com/ld/igds/view/DepotBookStorePR.java | 56 ++++++ igds-core/src/main/java/com/ld/igds/view/service/HDepotBookStoreService.java | 91 ++++++++++ igds-core/src/main/java/com/ld/igds/view/DepotBookStore.view.xml | 393 +++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 540 insertions(+), 0 deletions(-) diff --git a/igds-core/src/main/java/com/ld/igds/view/DepotBookStore.view.xml b/igds-core/src/main/java/com/ld/igds/view/DepotBookStore.view.xml new file mode 100644 index 0000000..8d01c9e --- /dev/null +++ b/igds-core/src/main/java/com/ld/igds/view/DepotBookStore.view.xml @@ -0,0 +1,393 @@ +<?xml version="1.0" encoding="UTF-8"?> +<ViewConfig> + <Arguments/> + <Context/> + <Model> + <DataType name="dtMain"> + <Property name="creationType">com.ld.igds.models.DepotBookStore</Property> + <PropertyDef name="id"> + <Property></Property> + </PropertyDef> + <PropertyDef name="companyId"> + <Property></Property> + <Property name="label">缁勭粐缂栫爜</Property> + </PropertyDef> + <PropertyDef name="kqdm"> + <Property></Property> + <Property name="label">搴撳尯浠g爜</Property> + </PropertyDef> + <PropertyDef name="lspzdm"> + <Property></Property> + <Property name="label">绮鍝佺浠g爜</Property> + <Property name="required">true</Property> + <Property name="mapping"> + <Property name="keyProperty">code</Property> + <Property name="valueProperty">name</Property> + <Property name="mapValues">${dorado.getDataProvider("dicTriggerPR#dicTrigger").getResult("FOOD_VARIETY_")}</Property> + </Property> + </PropertyDef> + <PropertyDef name="nd"> + <Property></Property> + <Property name="label">骞村害</Property> + <Property name="required">true</Property> + </PropertyDef> + <PropertyDef name="yf"> + <Property></Property> + <Property name="label">鏈堜唤</Property> + <Property name="required">true</Property> + <Property name="mapping"> + <Property name="keyProperty">key</Property> + <Property name="valueProperty">value</Property> + </Property> + </PropertyDef> + <PropertyDef name="qcsl"> + <Property name="dataType">Double</Property> + <Property name="label">鏈熷垵鏁伴噺</Property> + <Property name="required">true</Property> + </PropertyDef> + <PropertyDef name="bqsrsl"> + <Property name="dataType">Double</Property> + <Property name="label">鏈湡鏀跺叆鏁伴噺</Property> + <Property name="required">true</Property> + <Property name="displayFormat">#0.000KG</Property> + </PropertyDef> + <PropertyDef name="bqzcsl"> + <Property name="dataType">Double</Property> + <Property name="label">鏈湡鏀嚭鏁伴噺</Property> + <Property name="required">true</Property> + <Property name="displayFormat">#0.000KG</Property> + </PropertyDef> + <PropertyDef name="qmye"> + <Property name="dataType">Double</Property> + <Property name="label">鏈熸湯鏁伴噺</Property> + <Property name="required">true</Property> + <Property name="displayFormat">#0.000KG</Property> + </PropertyDef> + <PropertyDef name="yjbz"> + <Property name="dataType">Integer</Property> + <Property name="label">鏈堢粨鏍囧織</Property> + <Property name="required">true</Property> + <Property name="mapping"> + <Property name="keyProperty">key</Property> + <Property name="valueProperty">value</Property> + <Property name="mapValues"> + <Collection> + <Entity> + <Property name="key">0</Property> + <Property name="value">鏈堢粨</Property> + </Entity> + <Entity> + <Property name="key">1</Property> + <Property name="value">鏈湀缁�</Property> + </Entity> + </Collection> + </Property> + </Property> + </PropertyDef> + <PropertyDef name="ywrq"> + <Property name="dataType">Date</Property> + <Property name="label">涓氬姟鏃ユ湡</Property> + <Property name="required">true</Property> + </PropertyDef> + <PropertyDef name="czbz"> + <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="key">i</Property> + <Property name="value">鏂板鏁版嵁</Property> + </Entity> + <Entity> + <Property name="key">u</Property> + <Property name="value">淇敼鏁版嵁</Property> + </Entity> + <Entity> + <Property name="key">d</Property> + <Property name="value">鍒犻櫎鏁版嵁</Property> + </Entity> + </Collection> + </Property> + </Property> + </PropertyDef> + <PropertyDef name="zhgxsj"> + <Property name="dataType">DateTime</Property> + <Property name="label">鏈�鍚庢洿鏂版椂闂�</Property> + </PropertyDef> + </DataType> + <DataType name="dtParam"> + <PropertyDef name="foodVariety"> + <Property name="label">绮鍝佺</Property> + <Property name="mapping"> + <Property name="mapValues">${dorado.getDataProvider("dicTriggerPR#dicTrigger").getResult("FOOD_VARIETY_")}</Property> + <Property name="keyProperty">code</Property> + <Property name="valueProperty">name</Property> + </Property> + </PropertyDef> + <PropertyDef name="year"> + <Property name="label">骞村害</Property> + </PropertyDef> + </DataType> + </Model> + <View layout="padding:5;regionPadding:5"> + <Property name="packages">font-awesome,css-common</Property> + <DataSet id="dsMain"> + <Property name="dataType">[dtMain]</Property> + <Property name="dataProvider">depotBookStorePR#pageList</Property> + <Property name="pageSize">15</Property> + </DataSet> + <DataSet id="dsParam"> + <ClientEvent name="onReady">self.insert({})
 +</ClientEvent> + <Property name="dataType">[dtParam]</Property> + </DataSet> + <Container layout="regionPadding:10" layoutConstraint="top"> + <Property name="exClassName">bg-color</Property> + <Property name="height">55</Property> + <Label layoutConstraint="left"> + <Property name="text">鑿滃崟鏍忥細</Property> + </Label> + <Button layoutConstraint="left"> + <ClientEvent name="onClick">view.get("#dsMain").insert();
 +view.get("#dialogMain").show();</ClientEvent> + <Property name="exClassName">btn-normal</Property> + <Property name="iconClass">fa fa-plus</Property> + <Property name="caption">鏂板</Property> + </Button> + <Button layoutConstraint="left"> + <ClientEvent name="onClick">var dialog= view.get("#dsMain.data:#");
 +if(dialog){
 + view.get("#dialogMain").show();
 +}else{
 + $alert("璇烽�変腑闇�瑕佷慨鏀圭殑鏁版嵁")
 +}</ClientEvent> + <Property name="caption">缂栬緫</Property> + <Property name="exClassName">btn-warm</Property> + <Property name="iconClass">fa fa-pencil</Property> + </Button> + <Button> + <ClientEvent name="onClick">var cur = view.get("#dsMain.data:#");
 +if(!cur) return;
 +view.get("#ajaxDel").set("parameter",cur).execute(function(result){
 + if(result){
 + $alert(result);
 + return;
 + }else{
 + cur.remove();
 + }
 +});</ClientEvent> + <Property name="exClassName">btn-warn</Property> + <Property name="iconClass">fa fa-pencil</Property> + <Property name="caption">鍒犻櫎</Property> + </Button> + </Container> + <Container> + <AutoForm> + <Property name="dataSet">dsParam</Property> + <Property name="cols">*,*,*,*</Property> + <AutoFormElement> + <Property name="name">foodVariety</Property> + <Property name="property">foodVariety</Property> + <Editor/> + </AutoFormElement> + <AutoFormElement> + <Property name="name">year</Property> + <Property name="property">year</Property> + <Property name="trigger">defaultYearDropDown</Property> + <Editor/> + </AutoFormElement> + <Container layout="regionPadding:10"> + <Button layoutConstraint="left"> + <ClientEvent name="onClick">var param = view.get("#dsParam.data:#");
 +view.get("#dsMain").set("parameter",param).flushAsync();</ClientEvent> + <Property name="caption">鏌ヨ</Property> + <Property name="exClassName">btn-normal</Property> + <Property name="iconClass">fa fa-search</Property> + </Button> + <Button layoutConstraint="left"> + <ClientEvent name="onClick">view.get("#dsParam").insert({})</ClientEvent> + <Property name="caption">閲嶇疆</Property> + <Property name="iconClass">fa fa-refresh</Property> + <Property name="exClassName">btn-default</Property> + </Button> + </Container> + </AutoForm> + <DataGrid id="dgMain"> + <ClientEvent name="onDataRowDoubleClick">view.get("#dialogMain").show();</ClientEvent> + <Property name="dataSet">dsMain</Property> + <Property name="readOnly">true</Property> + <RowNumColumn/> + <DataColumn name="lspzdm"> + <Property name="property">lspzdm</Property> + <Property name="align">center</Property> + </DataColumn> + <DataColumn name="nd"> + <Property name="property">nd</Property> + <Property name="align">center</Property> + </DataColumn> + <DataColumn name="yf"> + <Property name="property">yf</Property> + <Property name="align">center</Property> + </DataColumn> + <DataColumn name="qcsl"> + <Property name="property">qcsl</Property> + <Property name="align">center</Property> + </DataColumn> + <DataColumn name="bqsrsl"> + <Property name="property">bqsrsl</Property> + <Property name="align">center</Property> + </DataColumn> + <DataColumn name="bqzcsl"> + <Property name="property">bqzcsl</Property> + <Property name="align">center</Property> + </DataColumn> + <DataColumn name="qmye"> + <Property name="property">qmye</Property> + <Property name="align">center</Property> + </DataColumn> + <DataColumn name="yjbz"> + <Property name="property">yjbz</Property> + <Property name="align">center</Property> + </DataColumn> + <DataColumn name="ywrq"> + <Property name="property">ywrq</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="dataSet">dsMain</Property> + <Property name="itemCodes">pageSize,pages</Property> + </DataPilot> + </ToolBar> + </Container> + <Dialog id="dialogMain"> + <Property name="caption">搴撳瓨淇℃伅</Property> + <Property name="width">800</Property> + <Property name="closeable">false</Property> + <Buttons> + <Button> + <ClientEvent name="onClick">var data = view.get("#dsMain.data:#");
 +view.get("#uaAction").execute(function(result){
 + if(result){
 + $alert(result);
 + }else{
 + self.get("parent").hide();
 + }
 +});</ClientEvent> + <Property name="caption">淇濆瓨</Property> + <Property name="iconClass">fa fa-check</Property> + <Property name="exClassName">btn-normal</Property> + </Button> + <Button> + <ClientEvent name="onClick">view.get("#dsMain.data:#").cancel();
 +self.get("parent").hide();</ClientEvent> + <Property name="caption">鍙栨秷</Property> + <Property name="iconClass">fa fa-times</Property> + <Property name="exClassName">btn-warn</Property> + </Button> + </Buttons> + <Children> + <AutoForm> + <Property name="dataSet">dsMain</Property> + <Property name="readOnly">false</Property> + <Property name="labelSeparator"> : </Property> + <Property name="labelAlign">right</Property> + <Property name="cols">*,*</Property> + <Property name="labelWidth">120</Property> + <AutoFormElement> + <Property name="name">lspzdm</Property> + <Property name="property">lspzdm</Property> + <Editor/> + </AutoFormElement> + <AutoFormElement> + <Property name="name">nd</Property> + <Property name="property">nd</Property> + <Property name="trigger">defaultYearDropDown</Property> + <Editor/> + </AutoFormElement> + <AutoFormElement> + <Property name="name">yf</Property> + <Property name="property">yf</Property> + <Property name="trigger">monthDropDown1</Property> + <Editor/> + </AutoFormElement> + <AutoFormElement> + <Property name="name">qcsl</Property> + <Property name="property">qcsl</Property> + <Editor/> + </AutoFormElement> + <AutoFormElement> + <Property name="name">bqsrsl</Property> + <Property name="property">bqsrsl</Property> + <Editor/> + </AutoFormElement> + <AutoFormElement> + <Property name="name">bqzcsl</Property> + <Property name="property">bqzcsl</Property> + <Editor/> + </AutoFormElement> + <AutoFormElement> + <Property name="name">qmye</Property> + <Property name="property">qmye</Property> + <Editor/> + </AutoFormElement> + <AutoFormElement> + <Property name="name">yjbz</Property> + <Property name="property">yjbz</Property> + <Editor/> + </AutoFormElement> + <AutoFormElement> + <Property name="name">ywrq</Property> + <Property name="property">ywrq</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> + </AutoForm> + </Children> + <Tools/> + </Dialog> + <UpdateAction id="uaAction"> + <Property name="successMessage">鎵ц鎴愬姛!</Property> + <Property name="dataResolver">depotBookStorePR#saveData</Property> + <UpdateItem> + <Property name="dataSet">dsMain</Property> + <Property name="dataPath">[#current]</Property> + </UpdateItem> + </UpdateAction> + <AjaxAction id="ajaxDel"> + <Property name="confirmMessage">纭畾瑕佸垹闄ゅ悧锛�</Property> + <Property name="service">depotBookStorePR#delData</Property> + </AjaxAction> + <MonthDropDown id="monthDropDown1"> + <ClientEvent name="onClose">var date = arg.selectedValue+1;
 +if(date<10){
 + arg.selectedValue="0"+date
 +}else if(date>=10){
 + arg.selectedValue=date
 +}
 +</ClientEvent> + </MonthDropDown> + </View> +</ViewConfig> diff --git a/igds-core/src/main/java/com/ld/igds/view/DepotBookStorePR.java b/igds-core/src/main/java/com/ld/igds/view/DepotBookStorePR.java new file mode 100644 index 0000000..6738f03 --- /dev/null +++ b/igds-core/src/main/java/com/ld/igds/view/DepotBookStorePR.java @@ -0,0 +1,56 @@ +package com.ld.igds.view; + +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.ld.igds.models.DepotBookStore; +import com.ld.igds.view.service.HDepotBookStoreService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Component; + +import java.util.Map; + +/** + * @Author: YYC + * @Description: + * @DateTime: 2023/10/20 18:37 + **/ +@Component +public class DepotBookStorePR { + @Autowired + private HDepotBookStoreService bookStoreService; + + /** + * depotBookStorePR#pageList + * + * @param page + * @param param + * @throws Exception + */ + @DataProvider + public void pageList(Page<DepotBookStore> page, Map<String, Object> param) throws Exception { + bookStoreService.listBookStore(page, param); + } + + /** + * depotBookStorePR#saveData + * + * @param data + */ + @DataResolver + public void saveData(DepotBookStore data) { + bookStoreService.saveData(data); + } + + /** + * depotBookStorePR#delData + * + * @param data + */ + @Expose + public void delData(DepotBookStore data) { + bookStoreService.delData(data); + } + +} diff --git a/igds-core/src/main/java/com/ld/igds/view/service/HDepotBookStoreService.java b/igds-core/src/main/java/com/ld/igds/view/service/HDepotBookStoreService.java new file mode 100644 index 0000000..fa847cf --- /dev/null +++ b/igds-core/src/main/java/com/ld/igds/view/service/HDepotBookStoreService.java @@ -0,0 +1,91 @@ +package com.ld.igds.view.service; + +import com.bstek.bdf2.core.orm.hibernate.HibernateDao; +import com.bstek.dorado.data.provider.Page; +import com.ld.igds.models.DepotBookStore; +import com.ld.igds.util.ContextUtil; +import org.apache.commons.lang3.StringUtils; +import org.hibernate.Session; +import org.springframework.stereotype.Component; +import org.springframework.stereotype.Service; + +import java.util.Date; +import java.util.HashMap; +import java.util.Map; + +/** + * @Author: YYC + * @Description:璐﹂潰搴撳瓨 + * @DateTime: 2023/10/20 14:56 + **/ +@Component +public class HDepotBookStoreService extends HibernateDao { + + + public void listBookStore(Page<DepotBookStore> page, Map<String, Object> param) throws Exception { + StringBuffer hql = new StringBuffer(); + hql.append(" from " + DepotBookStore.class.getName() + " where companyId =:companyId and kqdm =:deptId "); + Map<String, Object> args = new HashMap<>(); + args.put("companyId", ContextUtil.getCompanyId()); + args.put("deptId", ContextUtil.subDeptId(null)); + + if (null != param) { + buildHql(hql, param, args); + } + String count = "select count(*) " + hql.toString(); + hql.append(" order by zhgxsj desc"); + this.pagingQuery(page, hql.toString(), count, args); + + } + + public void saveData(DepotBookStore data) { + data.setZhgxsj(new Date()); + Session session = this.getSessionFactory().openSession(); + try { + if (null == data.getId()) { + data.setId(ContextUtil.getUUID()); + data.setKqdm(ContextUtil.subDeptId(null)); + data.setCompanyId(ContextUtil.getCompanyId()); + data.setCzbz("i"); + session.save(data); + } else { + data.setCzbz("u"); + session.update(data); + } + } catch (Exception e) { + e.printStackTrace(); + } finally { + session.flush(); + session.close(); + } + } + + + public void delData(DepotBookStore data) { + Session session = this.getSessionFactory().openSession(); + try { + if (null != data.getId()) { + session.delete(data); + } + } catch (Exception e) { + e.printStackTrace(); + } finally { + session.flush(); + session.close(); + } + } + + + public void buildHql(StringBuffer hql, Map<String, Object> param, Map<String, Object> args) { + String str = (String) param.get("foodVariety"); + if (StringUtils.isNotEmpty(str)) { + hql.append(" and lspzdm =:foodVariety"); + args.put("foodVariety", str); + } + Integer year = (Integer) param.get("year"); + if (null != year) { + hql.append(" and nd =:year"); + args.put("year", String.valueOf(year)); + } + } +} -- Gitblit v1.9.3