Commit 7bccaddc by shiwenbo

Merge branch 'develop' of gitlab.beecode.cn:kunlun/xyst_dinas/xyst_dinas_backend into develop

parents 4de6e88b 32c4f2e9
......@@ -1191,6 +1191,20 @@
</m:function-definition>
<m:icon>iconfont iconliuyuquyushezhi1x</m:icon>
</m:function-node>
<m:function-node>
<m:id>d20901ea-e5ca-4ab9-808b-20c7bc108e3f</m:id>
<m:name>drainage_basin_approve</m:name>
<m:title>流域区域审核</m:title>
<m:index>4000</m:index>
<m:license></m:license>
<m:privilege></m:privilege>
<m:role></m:role>
<m:function-definition>
<m:view>function-drainage-basin-approve</m:view>
<m:view-config></m:view-config>
</m:function-definition>
<m:icon>iconfont iconliuyuquyushezhi1x</m:icon>
</m:function-node>
</m:children>
</m:function-node>
<m:function-node>
......
......@@ -19,6 +19,8 @@ public interface StationDao extends BaseDao {
void deleteById(UUID id);
List<KObject> listStationInfoByRegionalCompany(UUID regionalCompanyId);
List<KObject> getByName(String name, UUID id);
void modify(KObject kobject);
......
......@@ -16,17 +16,16 @@ import com.xyst.dinas.biz.enumeration.OrganizationTypeEnum;
import org.apache.commons.lang3.StringUtils;
import org.hibernate.criterion.DetachedCriteria;
import org.hibernate.criterion.Order;
import org.hibernate.criterion.Projections;
import org.hibernate.criterion.Restrictions;
import org.hibernate.query.NativeQuery;
import org.hibernate.sql.JoinType;
import org.json.JSONObject;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.orm.hibernate5.HibernateTemplate;
import java.io.Serializable;
import java.util.Date;
import java.util.List;
import java.util.Map;
import java.util.UUID;
import java.util.*;
public class DinasTypeDaoImpl extends AbstractBaseDao implements DinasTypeDao, DinasTypeConstant {
......@@ -76,6 +75,18 @@ public class DinasTypeDaoImpl extends AbstractBaseDao implements DinasTypeDao, D
page.setTotal(template.findByCriteria(detachedCriteria).size());
int offset = page.getPageSize() * (page.getPageNo() - 1);
List<KObject> list = (List<KObject>) template.findByCriteria(detachedCriteria, offset, page.getPageSize());
List<KObject> details = new ArrayList<>();
for (KObject kObject : list) {
details = new ArrayList<>();
KObject stations = kObject.get("stations");
KObject[] kObjects = stations.toArray();
for (KObject object : kObjects) {
if(!object.getBoolean("del")){
details.add(object);
}
}
kObject.set("stations",details);
}
page.setDatas(list);
return page;
}
......@@ -83,11 +94,20 @@ public class DinasTypeDaoImpl extends AbstractBaseDao implements DinasTypeDao, D
@Override
public List<KObject> getByStation(UUID stationId) {
KClass bean = Amino.getStaticMetadataContext().getBean(DinasTypeConstant.STATION_DINAS_TYPE_DETAIL_ENTITY, KClass.class);
// KClass bean = Amino.getStaticMetadataContext().getBean(DinasTypeConstant.STATION_DINAS_TYPE_DETAIL_ENTITY, KClass.class);
// DetachedCriteria detachedCriteria = DetachedCriteria.forEntityName(bean.getName());
// addRegionalCompanyFilter(detachedCriteria);
// detachedCriteria.add(Restrictions.eq("del", false));
// detachedCriteria.add(Restrictions.eq("station.id", stationId));
KClass bean = Amino.getStaticMetadataContext().getBean(ENTITY, KClass.class);
DetachedCriteria detachedCriteria = DetachedCriteria.forEntityName(bean.getName());
addRegionalCompanyFilter(detachedCriteria);
detachedCriteria.add(Restrictions.eq("del", false));
detachedCriteria.add(Restrictions.eq("station.id", stationId));
detachedCriteria.createAlias("stations","station");
detachedCriteria.add(Restrictions.eq("station.station.id", stationId));
detachedCriteria.add(Restrictions.eq("station.del", false));
detachedCriteria.addOrder(Order.desc("sortOrder"));
return (List<KObject>) template.findByCriteria(detachedCriteria);
}
......@@ -150,9 +170,16 @@ public class DinasTypeDaoImpl extends AbstractBaseDao implements DinasTypeDao, D
kObject.set("del", false);
Serializable save = template.save(STATION_DINAS_TYPE_DETAIL_ENTITY, kObject);
return null!=save.toString();
} else {
return false;
} else if(byExample.size()==1){
KObject kObject =byExample.get(0);
if(!kObject.getBoolean("del")){
return false;
}
kObject.set("del",false);
template.update(STATION_DINAS_TYPE_DETAIL_ENTITY,kObject);
return true;
}
return false;
}
@Override
......@@ -171,10 +198,8 @@ public class DinasTypeDaoImpl extends AbstractBaseDao implements DinasTypeDao, D
private List<KObject> getByExample(UUID dinasTypeId, UUID stationId) {
KClass bean = Amino.getStaticMetadataContext().getBean(STATION_DINAS_TYPE_DETAIL_ENTITY, KClass.class);
DetachedCriteria detachedCriteria = DetachedCriteria.forEntityName(bean.getName());
// detachedCriteria.add(Restrictions.eq("department.id", departmentId));
detachedCriteria.createAlias("station","s");
detachedCriteria.createAlias("dinasType","d");
detachedCriteria.add(Restrictions.eq("del", false));
detachedCriteria.add(Restrictions.eq("s.id", stationId));
detachedCriteria.add(Restrictions.eq("d.id", dinasTypeId));
return (List<KObject>) template.findByCriteria(detachedCriteria);
......
......@@ -5,7 +5,6 @@ import com.beecode.bap.attachment.common.Page;
import com.beecode.bcp.core.context.AminoContextHolder;
import com.beecode.bcp.type.KClass;
import com.beecode.bcp.type.KObject;
import com.beecode.bcp.type.support.KernelArray;
import com.beecode.inz.basis.internal.dao.AbstractBaseDao;
import com.beecode.inz.common.BaseConstants;
import com.xyst.dinas.biz.constant.ProductionLineConstant;
......@@ -18,7 +17,6 @@ import org.hibernate.criterion.Restrictions;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.orm.hibernate5.HibernateTemplate;
import java.lang.reflect.Array;
import java.util.Date;
import java.util.List;
import java.util.UUID;
......@@ -57,6 +55,26 @@ public class StationDaoImpl extends AbstractBaseDao implements StationDao, Stat
return page;
}
@Override
public List<KObject> listStationInfoByRegionalCompany(UUID regionalCompanyId) {
KClass bean = Amino.getStaticMetadataContext().getBean(StationConstant.ENTITY, KClass.class);
DetachedCriteria detachedCriteria = DetachedCriteria.forEntityName(bean.getName());
// detachedCriteria.add(Restrictions.eq("department.id", departmentId));
detachedCriteria.add(Restrictions.eq("del", false));
if(null==regionalCompanyId){
KObject currentLoginRegionalCompany = dinasTypeDao.getCurrentLoginRegionalCompany();
if(null!=currentLoginRegionalCompany){
regionalCompanyId=currentLoginRegionalCompany.getUuid("id");
}
}
if(null!=regionalCompanyId){
detachedCriteria.add(Restrictions.eq("regionalCompany.id",regionalCompanyId));
}
detachedCriteria.addOrder(Order.desc("sortOrder"));
return (List<KObject>) template.findByCriteria(detachedCriteria);
}
@Override
public List<KObject> getByName(String name, UUID id) {
......
......@@ -24,6 +24,10 @@ public class StationServiceImpl implements StationService {
}
return stationDao.listStationInfoPaging(page,stationStatus);
}
@Override
public List<KObject> listStationInfoByRegionalCompany(UUID regionalCompanyId) throws Exception {
return stationDao.listStationInfoByRegionalCompany(regionalCompanyId);
}
@Override
public UUID addStation(KObject kObject) {
......
......@@ -3,12 +3,15 @@ package com.xyst.dinas.biz.service;
import com.beecode.bap.attachment.common.Page;
import com.beecode.bcp.type.KObject;
import java.util.List;
import java.util.UUID;
public interface StationService {
Page<KObject> queryByPaging(Page<KObject> page, Integer stationStatus) throws Exception;
List<KObject> listStationInfoByRegionalCompany(UUID regionalCompanyId) throws Exception;
UUID addStation(KObject kObject);
KObject getById(UUID id);
......
<?xml version="1.0" encoding="UTF-8"?>
<metadata xmlns="http://www.beecode.cn/schema/amino-metadata" xmlns:m="http://www.beecode.cn/schema/bcp-sequence">
<specification>1.0</specification>
<id>ef704027-a2c7-4e13-a0da-d2c3607d3433</id>
<name>com.xyst.dinas.biz.bill.RetailInfo$sequence</name>
<title>散户$sequence</title>
<description>散户</description>
<define>bcp.sequence</define>
<define-version>1.0</define-version>
<content>
<m:sequence>
<m:start-with>0</m:start-with>
<m:increment>1</m:increment>
<m:max>99999</m:max>
<m:min>0</m:min>
<m:cycle>true</m:cycle>
<m:cache-size>10</m:cache-size>
</m:sequence>
</content>
</metadata>
<?xml version="1.0" encoding="UTF-8"?>
<metadata xmlns="http://www.beecode.cn/schema/amino-metadata" xmlns:m="http://www.beecode.cn/schema/bcp-serial">
<specification>1.0</specification>
<id>c20425ff-fea4-446f-9ed3-dd606319643b</id>
<name>com.xyst.dinas.biz.bill.RetailInfo$serial</name>
<title>散户$serial</title>
<description>散户管理</description>
<define>bcp.serial</define>
<define-version>1.0</define-version>
<dependency>com.xyst.dinas.biz.datamodel.RetailInfo</dependency>
<dependency>com.xyst.dinas.biz.bill.RetailInfo$sequence</dependency>
<content>
<m:serial>
<m:input>com.xyst.dinas.biz.datamodel.RetailInfo</m:input>
<m:functionLibrarys/>
<m:segments>
<m:literal>
<m:value>RI</m:value>
</m:literal>
<m:sequence>
<m:length>5</m:length>
<m:pad-direction>left</m:pad-direction>
<m:pad-string>0</m:pad-string>
<m:key>com.xyst.dinas.biz.bill.RetailInfo$serial</m:key>
<m:sequenceName>com.xyst.dinas.biz.bill.RetailInfo$sequence</m:sequenceName>
</m:sequence>
</m:segments>
</m:serial>
</content>
</metadata>
<?xml version="1.0" encoding="UTF-8"?>
<metadata xmlns="http://www.beecode.cn/schema/amino-metadata" xmlns:m="http://www.beecode.cn/schema/bcp-biztype">
<specification>1.0</specification>
<id>d17208c1-5f9d-420e-8f18-40b7dfd35af3</id>
<name>com.xyst.dinas.biz.bill.RetailInfo</name>
<title>散户管理</title>
<description>场站</description>
<define>bcp.biz.Biztype</define>
<define-version>1.0</define-version>
<dependency>com.xyst.dinas.biz.bill.RetailInfo$serial</dependency>
<dependency>com.xyst.dinas.biz.datamodel.RetailInfo</dependency>
<dependency>com.beecode.bap.biztrait.BasicBillBiztrait</dependency>
<content>
<m:biztype>
<m:type>com.xyst.dinas.biz.datamodel.RetailInfo</m:type>
<m:inheritances>
<m:inheritance>
<m:biztrait>com.beecode.bap.biztrait.BasicBillBiztrait</m:biztrait>
<m:config type="xml">
<m:content>&lt;billBasictraitConfig&gt;&lt;formulas/&gt;&lt;parents&gt;&lt;parent&gt;&lt;billCodeConfig&gt;&lt;serialName&gt;com.xyst.dinas.biz.bill.RetailInfo$serial&lt;/serialName&gt;&lt;buildTime&gt;add&lt;/buildTime&gt;&lt;/billCodeConfig&gt;&lt;/parent&gt;&lt;parent&gt;&lt;workflowConfig&gt;&lt;workflow&gt;&lt;/workflow&gt;&lt;/workflowConfig&gt;&lt;/parent&gt;&lt;parent&gt;&lt;printConfig&gt;&lt;templates/&gt;&lt;/printConfig&gt;&lt;/parent&gt;&lt;/parents&gt;&lt;functionLibrarys/&gt;&lt;/billBasictraitConfig&gt;</m:content>
</m:config>
</m:inheritance>
</m:inheritances>
<m:methodAuthorityItems/>
</m:biztype>
</content>
</metadata>
<?xml version="1.0" encoding="UTF-8"?>
<metadata xmlns="http://www.beecode.cn/schema/amino-metadata" xmlns:m="http://www.beecode.cn/schema/bcp-type">
<specification>1.0</specification>
<id>f146f611-b102-4865-81c8-c4375b6771dc</id>
<name>com.xyst.dinas.biz.datamodel.RetailInfo$DinasTypeDetail</name>
<title>散户购买的砂石种类</title>
<define>bcp.type.Class</define>
<define-version>1.0</define-version>
<dependency>com.beecode.bap.biztrait.datamodel.StoreSubTableRequirement</dependency>
<dependency>com.xyst.dinas.biz.datamodel.DinasType</dependency>
<dependency>bcp.type.constraint.Numeric</dependency>
<dependency>bcp.type.json.JsonIgnore</dependency>
<dependency>com.xyst.dinas.biz.datamodel.RetailInfo</dependency>
<content>
<m:class>
<m:parents>
<m:parent>com.beecode.bap.biztrait.datamodel.StoreSubTableRequirement</m:parent>
</m:parents>
<m:attributes>
<m:attribute>
<m:annotations/>
<m:id>ee92b687-b303-4278-8a78-6cbd4c39b73a</m:id>
<m:name>dinasType</m:name>
<m:title>砂石种类</m:title>
<m:type>com.xyst.dinas.biz.datamodel.DinasType</m:type>
<m:description></m:description>
<m:default></m:default>
</m:attribute>
<m:attribute>
<m:annotations>
<m:annotation>
<m:type>bcp.type.constraint.Numeric</m:type>
<m:properties>
<m:property>
<m:key>precision</m:key>
<m:value>12</m:value>
</m:property>
<m:property>
<m:key>scale</m:key>
<m:value>4</m:value>
</m:property>
</m:properties>
</m:annotation>
</m:annotations>
<m:id>81d0a470-96f8-476e-80ce-da78c90dc8c8</m:id>
<m:name>purchaseAmount</m:name>
<m:title>砂石量(吨)</m:title>
<m:type>fixnum</m:type>
<m:description></m:description>
<m:default></m:default>
</m:attribute>
<m:attribute>
<m:annotations>
<m:annotation>
<m:type>bcp.type.json.JsonIgnore</m:type>
</m:annotation>
</m:annotations>
<m:id>1bc25906-37c5-486d-85ef-855df1e41a73</m:id>
<m:name>master</m:name>
<m:title>master</m:title>
<m:type>com.xyst.dinas.biz.datamodel.RetailInfo</m:type>
<m:description></m:description>
<m:default></m:default>
</m:attribute>
</m:attributes>
</m:class>
</content>
</metadata>
<?xml version="1.0" encoding="UTF-8"?>
<metadata xmlns="http://www.beecode.cn/schema/amino-metadata" xmlns:m="http://www.beecode.cn/schema/bcp-type">
<specification>1.0</specification>
<id>ab181209-1801-4973-befd-794a7df378c6</id>
<name>com.xyst.dinas.biz.datamodel.RetailInfo</name>
<title>散户管理</title>
<description>散户管理</description>
<define>bcp.type.Class</define>
<define-version>1.0</define-version>
<dependency>bcp.type.constraint.StringLength</dependency>
<dependency>com.beecode.inz.common.datamodel.BaseInfo</dependency>
<dependency>com.xyst.dinas.biz.datamodel.Organization</dependency>
<dependency>com.beecode.bap.biztrait.datamodel.BasicBillRequirement</dependency>
<dependency>com.xyst.dinas.biz.datamodel.DinasType</dependency>
<content>
<m:class>
<m:parents>
<m:parent>com.beecode.inz.common.datamodel.BaseInfo</m:parent>
<m:parent>com.beecode.bap.biztrait.datamodel.BasicBillRequirement</m:parent>
</m:parents>
<m:attributes>
<m:attribute>
<m:annotations/>
<m:id>98322a2f-5fbe-46f4-8c79-bf0b24d12a4a</m:id>
<m:name>retailInfoName</m:name>
<m:title>散户姓名</m:title>
<m:type>string</m:type>
<m:description>场站名称</m:description>
<m:default></m:default>
</m:attribute>
<m:attribute>
<m:annotations/>
<m:id>aa1b1c40-ec3e-483e-a5e7-fb354decaf45</m:id>
<m:name>idCard</m:name>
<m:title>身份证号</m:title>
<m:type>string</m:type>
<m:description>身份证号</m:description>
<m:default></m:default>
</m:attribute>
<m:attribute>
<m:annotations/>
<m:id>7a9e3bbe-447c-4242-832f-32b31abe11d9</m:id>
<m:name>address</m:name>
<m:title>居住地址</m:title>
<m:type>string</m:type>
<m:description>居住地址</m:description>
<m:default></m:default>
</m:attribute>
<m:attribute>
<m:annotations/>
<m:id>19f58e91-61b8-4a8d-a5e0-d530fdf38cf8</m:id>
<m:name>regionalCompany</m:name>
<m:title>所属区域公司</m:title>
<m:type>com.xyst.dinas.biz.datamodel.Organization</m:type>
<m:description></m:description>
<m:default></m:default>
</m:attribute>
<m:attribute>
<m:annotations>
<m:annotation>
<m:type>com.beecode.bap.biztrait.datamodel.SubTableAnnotation</m:type>
</m:annotation>
</m:annotations>
<m:id>97b70076-09ca-4fb5-b2d0-cd13a4218f19</m:id>
<m:name>dinasTypeDetails</m:name>
<m:title>售卖的砂石</m:title>
<m:type>com.xyst.dinas.biz.datamodel.RetailInfo$DinasTypeDetail[]</m:type>
<m:description></m:description>
<m:default></m:default>
</m:attribute>
</m:attributes>
</m:class>
</content>
</metadata>
<?xml version="1.0" encoding="UTF-8"?>
<metadata xmlns="http://www.beecode.cn/schema/amino-metadata" xmlns:m="http://www.beecode.cn/schema/inz-query">
<specification>1.0</specification>
<id>5c27e5d9-c51b-420a-9e08-4c447a60afbf</id>
<name>com.xyst.dinas.biz.query.RetailInfo</name>
<title>散户管理</title>
<description>散户管理</description>
<define>inz.query.Query</define>
<define-version>1.0</define-version>
<dependency>com.xyst.dinas.biz.datamodel.RetailInfo</dependency>
<content>
<m:query>
<m:type>com.xyst.dinas.biz.datamodel.RetailInfo</m:type>
<m:dataProcessor/>
<m:authorityItem/>
<m:innerScenes>
<m:innerScene>
<m:id>e2425f30-8dd4-4aef-b2bc-2a38a7610c3a</m:id>
<m:title>全部</m:title>
<m:javaImplement>com.beecode.inz.common.scene.CommonAllScene</m:javaImplement>
<m:defaultExecute></m:defaultExecute>
<m:hide></m:hide>
</m:innerScene>
<m:innerScene>
<m:id>669db2df-5fa4-41ac-98e5-aaf2ef643500</m:id>
<m:title>已废弃</m:title>
<m:javaImplement>com.beecode.inz.common.scene.DefaultDiscardScene</m:javaImplement>
<m:defaultExecute></m:defaultExecute>
<m:hide></m:hide>
</m:innerScene>
<m:innerScene>
<m:id>9d05497c-061c-4168-af47-90791870b3cf</m:id>
<m:title>权限过滤</m:title>
<m:javaImplement>com.xyst.dinas.biz.scene.XystDinasCommonAllScene</m:javaImplement>
<m:defaultExecute>true</m:defaultExecute>
<m:hide>true</m:hide>
</m:innerScene>
</m:innerScenes>
<m:fields>
<m:field>
<m:name>id</m:name>
<m:title>id</m:title>
<m:type>uuid</m:type>
<m:ref>
<m:name></m:name>
<m:type></m:type>
</m:ref>
<m:desc></m:desc>
</m:field>
<m:field>
<m:name>regionalCompany.id</m:name>
<m:title>区域公司</m:title>
<m:type>uuid</m:type>
<m:ref>
<m:name>com.xyst.dinas.biz.datamodel.Organization</m:name>
<m:type></m:type>
</m:ref>
<m:desc></m:desc>
</m:field>
<m:field>
<m:name>regionalCompany.name</m:name>
<m:title>区域公司名称</m:title>
<m:type>string</m:type>
<m:ref>
<m:name>com.xyst.dinas.biz.datamodel.Organization</m:name>
<m:type></m:type>
</m:ref>
<m:desc></m:desc>
</m:field>
<m:field>
<m:name>createTime</m:name>
<m:title>创建时间</m:title>
<m:type>datetime</m:type>
<m:ref>
<m:name></m:name>
<m:type></m:type>
</m:ref>
<m:desc></m:desc>
</m:field>
<m:field>
<m:name>creator.name</m:name>
<m:title>创建人</m:title>
<m:type>string</m:type>
<m:ref/>
<m:desc></m:desc>
</m:field>
<m:field>
<m:name>modifyTime</m:name>
<m:title>修改时间</m:title>
<m:type>datetime</m:type>
<m:ref>
<m:name></m:name>
<m:type></m:type>
</m:ref>
<m:desc></m:desc>
</m:field>
<m:field>
<m:name>modifier</m:name>
<m:title>修改人</m:title>
<m:type>string</m:type>
<m:ref>
<m:name></m:name>
<m:type></m:type>
</m:ref>
<m:desc></m:desc>
</m:field>
<m:field>
<m:name>discard</m:name>
<m:title>废弃</m:title>
<m:type>boolean</m:type>
<m:ref>
<m:name></m:name>
<m:type></m:type>
</m:ref>
<m:desc></m:desc>
</m:field>
<m:field>
<m:name>retailInfoName</m:name>
<m:title>散户姓名</m:title>
<m:type>string</m:type>
<m:ref>
<m:name></m:name>
<m:type></m:type>
</m:ref>
<m:desc></m:desc>
</m:field>
<m:field>
<m:name>idCard</m:name>
<m:title>身份证号</m:title>
<m:type>string</m:type>
<m:ref>
<m:name></m:name>
<m:type></m:type>
</m:ref>
<m:desc></m:desc>
</m:field>
<m:field>
<m:name>address</m:name>
<m:title>地址</m:title>
<m:type>string</m:type>
<m:ref>
<m:name></m:name>
<m:type></m:type>
</m:ref>
<m:desc></m:desc>
</m:field>
<m:field>
<m:name>reason</m:name>
<m:title>备注</m:title>
<m:type>string</m:type>
<m:ref>
<m:name></m:name>
<m:type></m:type>
</m:ref>
<m:desc></m:desc>
</m:field>
<m:field>
<m:name>del</m:name>
<m:title>是否删除</m:title>
<m:type>boolean</m:type>
<m:ref>
<m:name></m:name>
<m:type></m:type>
</m:ref>
<m:desc></m:desc>
</m:field>
</m:fields>
</m:query>
</content>
</metadata>
<?xml version="1.0" encoding="UTF-8"?>
<hibernate-mapping xmlns="http://www.hibernate.org/xsd/hibernate-mapping"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.hibernate.org/xsd/hibernate-mapping
http://www.hibernate.org/xsd/hibernate-mapping/hibernate-mapping-4.0.xsd">
<class entity-name="com.xyst.dinas.biz.datamodel.RetailInfo" table="xyst_dinas_biz_retail_info" optimistic-lock="version">
<tuplizer entity-mode="dynamic-map" class="com.beecode.bcp.store.hibernate.KObjectEntityTuplizer"/>
<id name="id" type="uuid-binary" column="id" length="16">
<generator class="assigned" />
</id>
<version name="version" type="int" column="version"/>
<property name="createTime" type="timestamp" not-null="false">
<column name="create_time"/>
</property>
<many-to-one name="creator" entity-name="com.beecode.bap.staff.datamodel.Staff" fetch="select">
<column name="creator_id" not-null="false"/>
</many-to-one>
<property name="modifyTime" type="timestamp" not-null="false">
<column name="modify_time"/>
</property>
<many-to-one name="modifier" entity-name="com.beecode.bap.staff.datamodel.Staff" fetch="select">
<column name="modifier_id" not-null="false"/>
</many-to-one>
<property name="billState" type="nstring" not-null="false">
<column name="bill_state" length="100"/>
</property>
<many-to-one name="bizProcess" entity-name="com.beecode.bap.workflow.datamodel.BizProcess" fetch="select">
<column name="biz_process_id" not-null="false"/>
</many-to-one>
<property name="billCode" type="nstring" not-null="false">
<column name="bill_code" length="200"/>
</property>
<property name="discard" type="boolean" not-null="false">
<column name="discard"/>
</property>
<property name="del" type="boolean" not-null="false">
<column name="del"/>
</property>
<property name="approveState" type="integer" not-null="false">
<column name="approve_state"/>
</property>
<many-to-one name="regionalCompany" entity-name="com.xyst.dinas.biz.datamodel.Organization" fetch="select">
<column name="regional_company" not-null="false">
<comment>所属组织机构</comment>
</column>
</many-to-one>
<property name="retailInfoName" type="nstring">
<column name="retail_info_name" length="30" >
<comment>散户姓名</comment>
</column>
</property>
<property name="idCard" type="nstring">
<column name="id_card" length="30" >
<comment>身份证号</comment>
</column>
</property>
<property name="address" type="nstring">
<column name="address" length="30" >
<comment>地址</comment>
</column>
</property>
<property name="reason" type="nstring" not-null="false">
<column name="reason" length="300" >
<comment>备注</comment>
</column>
</property>
<bag name="dinasTypeDetails" cascade="none" inverse="true" lazy="extra">
<key column="master_id" not-null="true" />
<one-to-many entity-name="com.xyst.dinas.biz.datamodel.RetailInfo$DinasTypeDetail"/>
</bag>
</class>
<class entity-name="com.xyst.dinas.biz.datamodel.RetailInfo$DinasTypeDetail" table="xyst_dinas_biz_retail_dinas_type_detail" >
<tuplizer entity-mode="dynamic-map" class="com.beecode.bcp.store.hibernate.KObjectEntityTuplizer"/>
<id name="id" type="uuid-binary" column="id" length="16">
<generator class="assigned" />
</id>
<many-to-one name="master" entity-name="com.xyst.dinas.biz.datamodel.RetailInfo" fetch="select">
<column name="master_id" not-null="false">
<comment>散户id</comment>
</column>
</many-to-one>
<many-to-one name="dinasType" entity-name="com.xyst.dinas.biz.datamodel.DinasType" fetch="select">
<column name="dinas_type_id" not-null="false">
<comment>砂石类型id</comment>
</column>
</many-to-one>
<property name="purchaseAmount" type="big_decimal" not-null="false">
<column name="purchase_amount" precision="12" scale="4">
<comment>购买重量</comment>
</column>
</property>
</class>
</hibernate-mapping>
\ No newline at end of file
......@@ -7,7 +7,7 @@ public enum DischargingTypeEnum {
/**
* 0每日新增
*/
NOME_DATA(0),
NORMAL_DATA(0),
/**
* 1数据修正
......
......@@ -53,13 +53,13 @@ public class DischargingDaoImpl extends AbstractBaseDao implements DischargingDa
public Object groupInfo(UUID transportShipId, Integer type, Date startDate, Date endDate, Integer sandMiningAreaType, List<UUID> stationIds, UUID sandMiningAreaId, UUID sandMiningShipId, UUID parentId) {
DetachedCriteria detachedCriteria = getDetachedCriteria(type, transportShipId, startDate, endDate, sandMiningAreaType, stationIds, sandMiningAreaId, sandMiningShipId, parentId);
//采区数量
detachedCriteria.setProjection(Projections.alias(Projections.countDistinct("sandMiningArea"), "sandMiningAreaCount"))
detachedCriteria.setProjection(Projections.projectionList().add(Projections.alias(Projections.countDistinct("sandMiningArea"), "sandMiningAreaCount"))
//采砂船数量
.setProjection(Projections.alias(Projections.countDistinct("sandMiningShip"), "sandMiningShipCount"))
.add(Projections.alias(Projections.countDistinct("sandMiningShip"), "sandMiningShipCount"))
//运砂船数量
.setProjection(Projections.alias(Projections.countDistinct("transportShip"), "transportShipCount"))
.add(Projections.alias(Projections.countDistinct("transportShip"), "transportShipCount"))
//总采砂量
.setProjection(Projections.alias(Projections.sum("dischargingWeight"), "sumDischargingWeight"));
.add(Projections.alias(Projections.sum("dischargingWeight"), "sumDischargingWeight")));
detachedCriteria.setResultTransformer(Transformers.ALIAS_TO_ENTITY_MAP);
List<HashMap<String, Object>> sandMiningAreaCount = (List<HashMap<String, Object>>) template.findByCriteria(detachedCriteria);
return sandMiningAreaCount.get(0);
......@@ -174,9 +174,9 @@ public class DischargingDaoImpl extends AbstractBaseDao implements DischargingDa
public void updateToDeleteParentId(UUID id) {
//获取改修正数据所在的月份
template.execute(session -> {
Query<Long> query = session.createQuery("update " + ENTITY + " as a set a.parentId = null where a.parentId = :parentId and a.type=" + DischargingTypeEnum.NOME_DATA.getValue(), Long.class);
Query query = session.createQuery("update " + ENTITY + " as a set a.parentId = null where a.parentId = :parentId and a.type=" + DischargingTypeEnum.NORMAL_DATA.getValue());
query.setParameter("parentId", id);
return query.getSingleResult();
return query.executeUpdate();
});
}
......@@ -214,17 +214,19 @@ public class DischargingDaoImpl extends AbstractBaseDao implements DischargingDa
{
Query query = session.createQuery("update " + ENTITY + " as d set d.parentId= :parentId " +
"where d.station.id = :stationId " +
"and d.type = :type " +
"and d.sandMiningShip.id = :sandMiningShipId " +
"and d.sandMiningArea.id = :sandMiningAreaId " +
"and d.dischargingTime >= :startDate " +
"and d.dischargingTime <= :endDate"
"and d.dischargingTime <= :endDate "
)
.setParameter("parentId", id)
.setParameter("stationId", stationId)
.setParameter("sandMiningShipId", sandMiningShipId)
.setParameter("sandMiningAreaId", sandMiningAreaId)
.setParameter("startDate", startDate)
.setParameter("endDate", endDate);
.setParameter("endDate", endDate)
.setParameter("type", DischargingTypeEnum.NORMAL_DATA.getValue());
return query.executeUpdate();
});
......
......@@ -60,6 +60,7 @@ public class ProductionPlanReportDaoImpl extends AbstractBaseDao implements Prod
if(null!=currentLoginRegionalCompany){
detachedCriteria.add(Restrictions.eq("regionalCompany.id",currentLoginRegionalCompany.getUuid("id")));
};
detachedCriteria.addOrder(Order.desc("createDate"));
detachedCriteria.addOrder(Order.desc("productionPlanDate"));
int offset = page.getPageSize() * (page.getPageNo() - 1);
page.setTotal(template.findByCriteria(detachedCriteria).size());
......
......@@ -48,7 +48,7 @@ public class SandMiningDaoImpl extends AbstractBaseDao implements SandMiningDao,
KObject currentLoginRegionalCompany = dinasTypeDao.getCurrentLoginRegionalCompany();
if(null!=currentLoginRegionalCompany){
detachedCriteria.add(Restrictions.eq("regionalCompany.id",currentLoginRegionalCompany.getUuid("id")));
};
}
detachedCriteria.addOrder(Order.desc("sortOrder"));
int offset = page.getPageSize() * (page.getPageNo() - 1);
page.setTotal(template.findByCriteria(detachedCriteria).size());
......
......@@ -5,7 +5,6 @@ import com.beecode.bcp.type.KObject;
import com.xyst.dinas.biz.constant.SandMiningAreaConstant;
import com.xyst.dinas.biz.dao.ShipInfoDao;
import com.xyst.dinas.biz.dao.StationDao;
import com.xyst.dinas.production.constant.DischargingConstant;
import com.xyst.dinas.production.dao.DischargingDao;
import com.xyst.dinas.production.enumeration.DischargingTypeEnum;
import com.xyst.dinas.production.service.DischargingService;
......@@ -62,7 +61,7 @@ public class DischargingServiceImpl implements DischargingService {
kObject.set("station",stationDao.load(stationId));
kObject.set("sandMiningShip",shipInfoDao.load(sandMiningShip));
kObject.set("sandMiningArea",stationDao.load(SandMiningAreaConstant.ENTITY,sandMiningAreaId));
if(DischargingTypeEnum.NOME_DATA.getValue() ==type){
if(DischargingTypeEnum.NORMAL_DATA.getValue() ==type){
//新增逻辑,如果本月有修正数据,将parentId赋值
UUID transportShip = kObject.get("transportShip").getUuid("id");
kObject.set("transportShip",shipInfoDao.load(transportShip));
......@@ -76,6 +75,7 @@ public class DischargingServiceImpl implements DischargingService {
}
}else if(DischargingTypeEnum.REVISE_DATA.getValue()==type){
updateToDeleteParentId(kObject.getUuid("id"));
//如果是修正记录,则将本采区本场站本采砂船下本月所有数据的parentId改为自己的
updateSetParentId(kObject);
}
......@@ -103,9 +103,35 @@ public class DischargingServiceImpl implements DischargingService {
}
@Override
public void update(KObject kobject) {
public void update(KObject kObject) {
int type = kObject.getInt("type");
UUID stationId = kObject.get("station").getUuid("id");
UUID sandMiningAreaId = kObject.get("sandMiningArea").getUuid("id");
UUID sandMiningShip = kObject.get("sandMiningShip").getUuid("id");
Date dischargingTime = kObject.getDate("dischargingTime");
kObject.set("station",stationDao.load(stationId));
kObject.set("sandMiningShip",shipInfoDao.load(sandMiningShip));
kObject.set("sandMiningArea",stationDao.load(SandMiningAreaConstant.ENTITY,sandMiningAreaId));
if(DischargingTypeEnum.NORMAL_DATA.getValue() ==type){
//新增逻辑,如果本月有修正数据,将parentId赋值
UUID transportShip = kObject.get("transportShip").getUuid("id");
kObject.set("transportShip",shipInfoDao.load(transportShip));
List<KObject> parents = dischargingDao.getParentByDateAndStationAndSandMiningArea(stationId,sandMiningAreaId,dischargingTime,sandMiningShip,transportShip);
KObject parent=null;
if(parents.size()>0){
parent= parents.get(0);
}
if(null!=parent){
kObject.set("parentId",parent.getUuid("id"));
}
}else if(DischargingTypeEnum.REVISE_DATA.getValue()==type){
//如果是修正记录,则将本采区本场站本采砂船下本月所有数据的parentId改为自己的
updateSetParentId(kObject);
}
dischargingDao.modify(kobject);
dischargingDao.modify(kObject);
}
@Override
......
......@@ -144,7 +144,7 @@ public class DischargingController {
@RequestParam("sandMiningAreaId") UUID sandMiningAreaId,
@RequestParam("stationId") UUID stationId,
@RequestParam("sandMiningShipId") UUID sandMiningShipId,
@RequestParam("date") Date date,
@DateTimeFormat(pattern = "yyyy-MM") @RequestParam("date") Date date,
@RequestParam(value = "id",required = false) UUID id){
if(null==sandMiningAreaId){
return ResponseObj.error(400,"采区不能为空");
......
......@@ -50,6 +50,15 @@
</ref>
<description></description>
</field>
<field title='计划周期title'>
<name>planningCycle.title</name>
<type>string</type>
<ref>
<type></type>
<name>com.xyst.dinas.biz.datamodel.PlanningCycle</name>
</ref>
<description></description>
</field>
<field title='审批时间'>
<name>approveTime</name>
<type>datetime</type>
......
......@@ -60,6 +60,16 @@
<m:desc></m:desc>
</m:field>
<m:field>
<m:name>planningCycle.title</m:name>
<m:title>计划周期title</m:title>
<m:type>string</m:type>
<m:ref>
<m:name>com.xyst.dinas.biz.datamodel.PlanningCycle</m:name>
<m:type></m:type>
</m:ref>
<m:desc></m:desc>
</m:field>
<m:field>
<m:name>approveTime</m:name>
<m:title>审批时间</m:title>
<m:type>datetime</m:type>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment