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