Commit acee2e4b by 高晓磊

价格调整砂石详情的子表增加开始时间和结束时间

parent c0e12a85
...@@ -123,7 +123,7 @@ public class DinasTypeDaoImpl extends AbstractBaseDao implements DinasTypeDao, D ...@@ -123,7 +123,7 @@ public class DinasTypeDaoImpl extends AbstractBaseDao implements DinasTypeDao, D
@Override @Override
public DetachedCriteria addRegionalCompanyFilter(DetachedCriteria detachedCriteria) { public DetachedCriteria addRegionalCompanyFilter(DetachedCriteria detachedCriteria) {
KObject currentLoginRegionalCompany = getCurrentLoginRegionalCompany(); KObject currentLoginRegionalCompany = getCurrentLoginRegionalCompany();
if (currentLoginRegionalCompany != null && currentLoginRegionalCompany.getString("type").equals(OrganizationTypeEnum.REGIONAL_COMPANY.name())) { if (currentLoginRegionalCompany != null && currentLoginRegionalCompany. getString("type").equals(OrganizationTypeEnum.REGIONAL_COMPANY.name())) {
detachedCriteria.add(Restrictions.eq("regionalCompany.id", currentLoginRegionalCompany.getUuid("id"))); detachedCriteria.add(Restrictions.eq("regionalCompany.id", currentLoginRegionalCompany.getUuid("id")));
} }
return detachedCriteria; return detachedCriteria;
...@@ -159,7 +159,7 @@ public class DinasTypeDaoImpl extends AbstractBaseDao implements DinasTypeDao, D ...@@ -159,7 +159,7 @@ public class DinasTypeDaoImpl extends AbstractBaseDao implements DinasTypeDao, D
@Override @Override
public boolean checkedStation(UUID dinasTypeId, UUID stationId) { public boolean checkedStation(UUID dinasTypeId, UUID stationId) {
List<KObject> byExample = getByExample(dinasTypeId, stationId); List<KObject> byExample = getByExample(dinasTypeId, stationId);
if (!(byExample.size()>0)) { if ((byExample.size()<=0)) {
KClass bean = Amino.getStaticMetadataContext().getBean(STATION_DINAS_TYPE_DETAIL_ENTITY, KClass.class); KClass bean = Amino.getStaticMetadataContext().getBean(STATION_DINAS_TYPE_DETAIL_ENTITY, KClass.class);
KObject kObject = bean.newInstance(); KObject kObject = bean.newInstance();
kObject.set("station", stationDao.load(stationId)); kObject.set("station", stationDao.load(stationId));
......
...@@ -36,9 +36,6 @@ ...@@ -36,9 +36,6 @@
<property name="del" type="boolean" not-null="false"> <property name="del" type="boolean" not-null="false">
<column name="del"/> <column name="del"/>
</property> </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.xystOrganization" fetch="select"> <many-to-one name="regionalCompany" entity-name="com.xyst.dinas.biz.datamodel.xystOrganization" fetch="select">
<column name="regional_company" not-null="false"> <column name="regional_company" not-null="false">
......
...@@ -29,4 +29,6 @@ public interface PriceAdjustmentDao extends BaseDao { ...@@ -29,4 +29,6 @@ public interface PriceAdjustmentDao extends BaseDao {
List<KObject> getNewDetailsByStation(UUID id); List<KObject> getNewDetailsByStation(UUID id);
ArrayList<StationDinasTypePriceDetail> getNewDetailListByStation(UUID id); ArrayList<StationDinasTypePriceDetail> getNewDetailListByStation(UUID id);
void deleteById(UUID id);
} }
package com.xyst.dinas.price.entity;
import com.beecode.bap.attachment.common.Page;
import org.springframework.format.annotation.DateTimeFormat;
import java.util.Date;
import java.util.List;
import java.util.UUID;
/**
* @author scol
*/
public class PriceAdjustmentEchartSearchEntity {
private List<UUID> stationIds;
private List<UUID> regionalCompanyIds;
@DateTimeFormat(pattern = "yyyy-MM-dd")
private Date adjustmentStartDate;
@DateTimeFormat(pattern = "yyyy-MM-dd")
private Date adjustmentEndDate;
public List<UUID> getStationIds() {
return stationIds;
}
public void setStationIds(List<UUID> stationIds) {
this.stationIds = stationIds;
}
public List<UUID> getRegionalCompanyIds() {
return regionalCompanyIds;
}
public void setRegionalCompanyIds(List<UUID> regionalCompanyIds) {
this.regionalCompanyIds = regionalCompanyIds;
}
public Date getAdjustmentStartDate() {
return adjustmentStartDate;
}
public void setAdjustmentStartDate(Date adjustmentStartDate) {
this.adjustmentStartDate = adjustmentStartDate;
}
public Date getAdjustmentEndDate() {
return adjustmentEndDate;
}
public void setAdjustmentEndDate(Date adjustmentEndDate) {
this.adjustmentEndDate = adjustmentEndDate;
}
}
package com.xyst.dinas.price.enumeration;
/**
* @author scol
* 价格调整 执行状态
*/
public enum PriceAdjustmentAdjustmentStatusEnum {
/**
* 未开始
*/
NOT_STARTED(0),
/**
* 进行中
*/
PROCESSING(1),
/**
* 已结束
*/
OVER(2);
int value;
PriceAdjustmentAdjustmentStatusEnum(int value) {
this.value = value;
}
public int getValue() {
return value;
}
}
...@@ -2,6 +2,7 @@ package com.xyst.dinas.price.internal.dao; ...@@ -2,6 +2,7 @@ package com.xyst.dinas.price.internal.dao;
import com.beecode.amino.core.Amino; import com.beecode.amino.core.Amino;
import com.beecode.bap.attachment.common.Page; import com.beecode.bap.attachment.common.Page;
import com.beecode.bap.workflow.core.BizProcessState;
import com.beecode.bcp.core.context.AminoContextHolder; import com.beecode.bcp.core.context.AminoContextHolder;
import com.beecode.bcp.type.KClass; import com.beecode.bcp.type.KClass;
import com.beecode.bcp.type.KObject; import com.beecode.bcp.type.KObject;
...@@ -80,7 +81,8 @@ public class PriceAdjustmentDaoImpl extends AbstractBaseDao implements PriceAdju ...@@ -80,7 +81,8 @@ public class PriceAdjustmentDaoImpl extends AbstractBaseDao implements PriceAdju
DetachedCriteria detachedCriteria = DetachedCriteria.forEntityName(bean.getName()); DetachedCriteria detachedCriteria = DetachedCriteria.forEntityName(bean.getName());
detachedCriteria.add(Restrictions.eq(BaseConstants.DEL, false)); detachedCriteria.add(Restrictions.eq(BaseConstants.DEL, false));
detachedCriteria.add(Restrictions.in("station.id", id)); detachedCriteria.add(Restrictions.in("station.id", id));
detachedCriteria.add(Restrictions.eq("applyStatus",2 )); detachedCriteria.add(Restrictions.eq("applyStatus", BizProcessState.DONE_WITH_AGREE.getValue()));
detachedCriteria.add(Restrictions.eq("adjustmentStatus",1 ));
detachedCriteria.addOrder(Order.desc("adjustmentDate")); detachedCriteria.addOrder(Order.desc("adjustmentDate"));
List<KObject> byCriteria = (List<KObject>)template.findByCriteria(detachedCriteria, 0, 1); List<KObject> byCriteria = (List<KObject>)template.findByCriteria(detachedCriteria, 0, 1);
...@@ -93,7 +95,7 @@ public class PriceAdjustmentDaoImpl extends AbstractBaseDao implements PriceAdju ...@@ -93,7 +95,7 @@ public class PriceAdjustmentDaoImpl extends AbstractBaseDao implements PriceAdju
DetachedCriteria detachedCriteria = DetachedCriteria.forEntityName(bean.getName()); DetachedCriteria detachedCriteria = DetachedCriteria.forEntityName(bean.getName());
detachedCriteria.add(Restrictions.eq(BaseConstants.DEL, false)); detachedCriteria.add(Restrictions.eq(BaseConstants.DEL, false));
detachedCriteria.add(Restrictions.in("station.id", id)); detachedCriteria.add(Restrictions.in("station.id", id));
detachedCriteria.add(Restrictions.in("applyStatus",1,3 )); detachedCriteria.add(Restrictions.in("applyStatus",BizProcessState.IN_PROCESS.getValue(),BizProcessState.DONE_WITH_REJECT.getValue() ));
detachedCriteria.addOrder(Order.desc("adjustmentDate")); detachedCriteria.addOrder(Order.desc("adjustmentDate"));
List<KObject> byCriteria = (List<KObject>)template.findByCriteria(detachedCriteria, 0, 1); List<KObject> byCriteria = (List<KObject>)template.findByCriteria(detachedCriteria, 0, 1);
return byCriteria; return byCriteria;
...@@ -146,6 +148,13 @@ public class PriceAdjustmentDaoImpl extends AbstractBaseDao implements PriceAdju ...@@ -146,6 +148,13 @@ public class PriceAdjustmentDaoImpl extends AbstractBaseDao implements PriceAdju
return objects; return objects;
} }
@Override
public void deleteById(UUID id) {
KObject kobject = (KObject) template.load(ENTITY, id);
kobject.set("modifyTime", new Date());
kobject.set("del", true);
template.update(kobject);
}
@Override @Override
public void modify(KObject kobject) { public void modify(KObject kobject) {
......
...@@ -3,6 +3,7 @@ package com.xyst.dinas.price.internal.service; ...@@ -3,6 +3,7 @@ package com.xyst.dinas.price.internal.service;
import com.beecode.bap.attachment.common.Page; import com.beecode.bap.attachment.common.Page;
import com.beecode.bcp.type.KObject; import com.beecode.bcp.type.KObject;
import com.xyst.dinas.price.dao.PriceAdjustmentDao; import com.xyst.dinas.price.dao.PriceAdjustmentDao;
import com.xyst.dinas.price.entity.PriceAdjustmentEchartSearchEntity;
import com.xyst.dinas.price.entity.PriceAdjustmentSearchEntity; import com.xyst.dinas.price.entity.PriceAdjustmentSearchEntity;
import com.xyst.dinas.price.entity.StationDinasTypePriceDetail; import com.xyst.dinas.price.entity.StationDinasTypePriceDetail;
import com.xyst.dinas.price.service.PriceAdjustmentService; import com.xyst.dinas.price.service.PriceAdjustmentService;
...@@ -11,6 +12,7 @@ import org.springframework.transaction.annotation.Transactional; ...@@ -11,6 +12,7 @@ import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.CollectionUtils; import org.springframework.util.CollectionUtils;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.UUID; import java.util.UUID;
...@@ -59,6 +61,17 @@ public class PriceAdjustmentServiceImpl implements PriceAdjustmentService { ...@@ -59,6 +61,17 @@ public class PriceAdjustmentServiceImpl implements PriceAdjustmentService {
return kObjects.get(0); return kObjects.get(0);
} }
@Override
public void deleteById(UUID id) {
priceAdjustmentDao.deleteById(id);
priceAdjustmentDao.deleteDetailByMasterId(id);
}
@Override
public List<HashMap<String, Object>> getChartLine(PriceAdjustmentEchartSearchEntity priceAdjustmentEchartSearchEntity) {
return null;
}
@Override @Override
public UUID addPriceAdjustment(KObject kObject) { public UUID addPriceAdjustment(KObject kObject) {
......
package com.xyst.dinas.price.service; package com.xyst.dinas.price.service;
import com.beecode.bcp.type.KObject; import com.beecode.bcp.type.KObject;
import com.xyst.dinas.price.entity.PriceAdjustmentEchartSearchEntity;
import com.xyst.dinas.price.entity.PriceAdjustmentSearchEntity; import com.xyst.dinas.price.entity.PriceAdjustmentSearchEntity;
import com.xyst.dinas.price.entity.StationDinasTypePriceDetail; import com.xyst.dinas.price.entity.StationDinasTypePriceDetail;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.UUID; import java.util.UUID;
...@@ -28,4 +30,7 @@ public interface PriceAdjustmentService { ...@@ -28,4 +30,7 @@ public interface PriceAdjustmentService {
KObject validateByStationId(UUID id); KObject validateByStationId(UUID id);
void deleteById(UUID id);
List<HashMap<String, Object>> getChartLine(PriceAdjustmentEchartSearchEntity priceAdjustmentEchartSearchEntity);
} }
...@@ -7,17 +7,16 @@ import com.beecode.bcp.type.KObject; ...@@ -7,17 +7,16 @@ import com.beecode.bcp.type.KObject;
import com.beecode.bcp.type.json.JSONObjectUtils; import com.beecode.bcp.type.json.JSONObjectUtils;
import com.beecode.inz.basis.team.pojo.ResponseObj; import com.beecode.inz.basis.team.pojo.ResponseObj;
import com.beecode.inz.common.BaseConstants; import com.beecode.inz.common.BaseConstants;
import com.beecode.util.DateUtil;
import com.fasterxml.jackson.databind.JsonNode;
import com.xyst.dinas.biz.service.DinasTypeService; import com.xyst.dinas.biz.service.DinasTypeService;
import com.xyst.dinas.price.constant.PriceAdjustmentConstant; import com.xyst.dinas.price.constant.PriceAdjustmentConstant;
import com.xyst.dinas.price.entity.PriceAdjustmentEchartSearchEntity;
import com.xyst.dinas.price.entity.PriceAdjustmentSearchEntity; import com.xyst.dinas.price.entity.PriceAdjustmentSearchEntity;
import com.xyst.dinas.price.service.PriceAdjustmentService; import com.xyst.dinas.price.service.PriceAdjustmentService;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.format.annotation.DateTimeFormat;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import java.util.Date; import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.UUID; import java.util.UUID;
...@@ -92,6 +91,47 @@ public class PriceAdjustmentController { ...@@ -92,6 +91,47 @@ public class PriceAdjustmentController {
return ResponseObj.success("修改成功"); return ResponseObj.success("修改成功");
} }
/**
* 删除价格调整
*
* @param id 价格调整json
* @return 修改成功
*/
@DeleteMapping("/{id}")
public ResponseObj<Object> deleteById(@PathVariable("id") UUID id){
if(id == null){
return ResponseObj.error(400,"'id' must be not null!");
}
priceAdjustmentService.deleteById(id);
return ResponseObj.success("删除成功");
}
/**
* 价格调整审批
* @param status 审核状态
* @param id id
* @return
*/
@PutMapping("approve")
public ResponseObj approve(@RequestParam(value = "failureReason",required = false) String failureReason ,@RequestParam("status") Integer status ,@RequestParam("id") UUID id){
if(id == null){
return ResponseObj.error(400,"'id' must be not null!");
}
if(status == null){
return ResponseObj.error(400,"'status' must be not null!");
}
KObject byId = priceAdjustmentService.getById(id);
byId.set("applyStatus",status);
if(StringUtils.isNotBlank(failureReason)){
byId.set("failureReason",failureReason);
}
priceAdjustmentService.update(byId);
return ResponseObj.success("审批成功");
}
/** /**
* 根据id获取价格调整 * 根据id获取价格调整
...@@ -140,4 +180,17 @@ public class PriceAdjustmentController { ...@@ -140,4 +180,17 @@ public class PriceAdjustmentController {
} }
/**
* 获取最新的砂石价格
* @param ids id
* @return 获取成功
*/
@GetMapping("getChartLine")
public ResponseObj getChartLine(PriceAdjustmentEchartSearchEntity priceAdjustmentEchartSearchEntity) {
List<HashMap<String,Object>> priceAdjustment = priceAdjustmentService.getChartLine(priceAdjustmentEchartSearchEntity);
return ResponseObj.success("获取成功", priceAdjustment);
}
} }
\ No newline at end of file
...@@ -43,6 +43,37 @@ ...@@ -43,6 +43,37 @@
<m:description/> <m:description/>
<m:default/> <m:default/>
</m:attribute> </m:attribute>
<m:attribute>
<m:id>9be72556-d8a4-4427-9cad-23504d5ce84a</m:id>
<m:name>dinasOldPrice</m:name>
<m:title>原价</m:title>
<m:type>fixnum</m:type>
<m:description/>
<m:default/>
</m:attribute>
<m:attribute>
<m:annotations>
<m:annotation>
<m:type>bcp.type.constraint.NotNull</m:type>
</m:annotation>
</m:annotations>
<m:id>088ab1d7-0926-46cb-b68e-79772d0b4f46</m:id>
<m:name>adjustmentDate</m:name>
<m:title>调整时间</m:title>
<m:type>datetime</m:type>
<m:description></m:description>
<m:default></m:default>
</m:attribute>
<m:attribute>
<m:id>22a39f66-d400-487c-ac47-3b74633bac82</m:id>
<m:name>adjustmentEndDate</m:name>
<m:title>调整结束时间</m:title>
<m:type>datetime</m:type>
<m:description></m:description>
<m:default></m:default>
</m:attribute>
<m:attribute> <m:attribute>
<m:annotations> <m:annotations>
<m:annotation> <m:annotation>
......
...@@ -10,6 +10,7 @@ ...@@ -10,6 +10,7 @@
<dependency>bcp.type.constraint.StringLength</dependency> <dependency>bcp.type.constraint.StringLength</dependency>
<dependency>com.beecode.inz.common.datamodel.BaseInfo</dependency> <dependency>com.beecode.inz.common.datamodel.BaseInfo</dependency>
<dependency>com.beecode.bap.biztrait.datamodel.SubTableAnnotation</dependency> <dependency>com.beecode.bap.biztrait.datamodel.SubTableAnnotation</dependency>
<dependency>com.beecode.inz.basis.datamodel.WarehouseUser</dependency>
<dependency>com.beecode.bap.staff.datamodel.Staff</dependency> <dependency>com.beecode.bap.staff.datamodel.Staff</dependency>
<dependency>com.xyst.dinas.biz.datamodel.xystOrganization</dependency> <dependency>com.xyst.dinas.biz.datamodel.xystOrganization</dependency>
<dependency>com.xyst.dinas.biz.datamodel.Station</dependency> <dependency>com.xyst.dinas.biz.datamodel.Station</dependency>
...@@ -53,6 +54,14 @@ ...@@ -53,6 +54,14 @@
<m:default></m:default> <m:default></m:default>
</m:attribute> </m:attribute>
<m:attribute> <m:attribute>
<m:id>22a39f66-d400-487c-ac47-3b74633bac82</m:id>
<m:name>adjustmentEndDate</m:name>
<m:title>调整结束时间</m:title>
<m:type>datetime</m:type>
<m:description></m:description>
<m:default></m:default>
</m:attribute>
<m:attribute>
<m:annotations> <m:annotations>
<m:annotation> <m:annotation>
<m:type>bcp.type.constraint.NotNull</m:type> <m:type>bcp.type.constraint.NotNull</m:type>
...@@ -71,8 +80,8 @@ ...@@ -71,8 +80,8 @@
<m:name>applyStatus</m:name> <m:name>applyStatus</m:name>
<m:title>申请状态</m:title> <m:title>申请状态</m:title>
<m:type>int</m:type> <m:type>int</m:type>
<m:description></m:description> <m:description/>
<m:default></m:default> <m:default/>
</m:attribute> </m:attribute>
<m:attribute> <m:attribute>
<m:annotations/> <m:annotations/>
...@@ -80,6 +89,45 @@ ...@@ -80,6 +89,45 @@
<m:name>reason</m:name> <m:name>reason</m:name>
<m:title>调价原因</m:title> <m:title>调价原因</m:title>
<m:type>string</m:type> <m:type>string</m:type>
<m:description/>
<m:default/>
</m:attribute>
<m:attribute>
<m:annotations/>
<m:id>4fba08c9-9e1c-45e7-985c-aebec107bed5</m:id>
<m:name>submitter</m:name>
<m:title>提交人</m:title>
<m:type>com.beecode.inz.basis.datamodel.WarehouseUser</m:type>
<m:description/>
<m:default/>
</m:attribute>
<m:attribute>
<m:annotations/>
<m:id>7120ce7c-ad7b-45b2-8835-40fd97a51ec2</m:id>
<m:name>adjustmentStatus</m:name>
<m:title>调整状态</m:title>
<m:type>int</m:type>
<m:description/>
<m:default/>
</m:attribute>
<m:attribute>
<m:annotations/>
<m:id>a4d0bb19-ee78-4067-b5a5-c9a6dd0fa630</m:id>
<m:name>approver</m:name>
<m:title>审批人</m:title>
<m:type>com.beecode.bap.staff.datamodel.Staff</m:type>
<m:description></m:description>
<m:default></m:default>
</m:attribute>
<m:attribute>
<m:annotations/>
<m:id>ce5a1292-340d-45c8-a80c-b6c5365e3631</m:id>
<m:name>approvalTime</m:name>
<m:title>审批时间</m:title>
<m:type>datetime</m:type>
<m:description></m:description> <m:description></m:description>
<m:default></m:default> <m:default></m:default>
</m:attribute> </m:attribute>
......
...@@ -55,12 +55,40 @@ ...@@ -55,12 +55,40 @@
<comment>调整时间</comment> <comment>调整时间</comment>
</column> </column>
</property> </property>
<property name="adjustmentEndDate" type="timestamp" not-null="false">
<column name="adjustment_end_date">
<comment>调整结束时间</comment>
</column>
</property>
<property name="adjustmentStatus" type="int" not-null="true">
<column name="adjustment_status" default="0">
<comment>调整状态 0未开始 1进行中 2已结束</comment>
</column>
</property>
<property name="applyDate" type="timestamp" not-null="true"> <property name="applyDate" type="timestamp" not-null="true">
<column name="apply_date"> <column name="apply_date">
<comment>申请时间</comment> <comment>申请时间</comment>
</column> </column>
</property> </property>
<property name="approvalTime" type="timestamp" not-null="false">
<column name="approval_time">
<comment>审批时间</comment>
</column>
</property>
<many-to-one name="approver" entity-name="com.beecode.bap.staff.datamodel.Staff" fetch="select">
<column name="approver" not-null="false">
<comment>审批人</comment>
</column>
</many-to-one>
<many-to-one name="submitter" entity-name="com.beecode.inz.basis.datamodel.WarehouseUser" fetch="select">
<column name="submitter_id" not-null="false">
<comment>提交人</comment>
</column>
</many-to-one>
<property name="applyStatus" type="int" not-null="true"> <property name="applyStatus" type="int" not-null="true">
<column name="apply_status"> <column name="apply_status">
<comment>申请状态 0待审批 1审批中 2通过 3不通过</comment> <comment>申请状态 0待审批 1审批中 2通过 3不通过</comment>
...@@ -106,5 +134,16 @@ ...@@ -106,5 +134,16 @@
<comment>砂石原价</comment> <comment>砂石原价</comment>
</column> </column>
</property> </property>
<property name="adjustmentDate" type="timestamp" not-null="true">
<column name="adjustment_date">
<comment>调整时间</comment>
</column>
</property>
<property name="adjustmentEndDate" type="timestamp" not-null="false">
<column name="adjustment_end_date">
<comment>调整结束时间</comment>
</column>
</property>
</class> </class>
</hibernate-mapping> </hibernate-mapping>
\ No newline at end of file
...@@ -5,11 +5,17 @@ import com.beecode.bap.attachment.common.Page; ...@@ -5,11 +5,17 @@ import com.beecode.bap.attachment.common.Page;
import com.beecode.bcp.core.context.AminoContextHolder; import com.beecode.bcp.core.context.AminoContextHolder;
import com.beecode.bcp.type.KClass; import com.beecode.bcp.type.KClass;
import com.beecode.bcp.type.KObject; import com.beecode.bcp.type.KObject;
import com.beecode.bcp.type.json.JSONObjectUtils;
import com.beecode.inz.basis.internal.dao.AbstractBaseDao; import com.beecode.inz.basis.internal.dao.AbstractBaseDao;
import com.beecode.inz.common.BaseConstants; import com.beecode.inz.common.BaseConstants;
import com.beecode.inz.common.util.JsonUtil;
import com.fasterxml.jackson.databind.JsonNode;
import com.xyst.dinas.biz.dao.DinasTypeDao; import com.xyst.dinas.biz.dao.DinasTypeDao;
import com.xyst.dinas.production.constant.ProductionPlanReportConstant; import com.xyst.dinas.production.constant.ProductionPlanReportConstant;
import com.xyst.dinas.production.dao.ProductionPlanReportDao; import com.xyst.dinas.production.dao.ProductionPlanReportDao;
import net.sf.json.JSONArray;
import net.sf.json.JSONObject;
import net.sf.json.JsonConfig;
import org.hibernate.criterion.DetachedCriteria; import org.hibernate.criterion.DetachedCriteria;
import org.hibernate.criterion.Order; import org.hibernate.criterion.Order;
import org.hibernate.criterion.Projections; import org.hibernate.criterion.Projections;
...@@ -20,6 +26,7 @@ import org.springframework.beans.factory.annotation.Autowired; ...@@ -20,6 +26,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.orm.hibernate5.HibernateTemplate; import org.springframework.orm.hibernate5.HibernateTemplate;
import org.springframework.util.CollectionUtils; import org.springframework.util.CollectionUtils;
import java.util.ArrayList;
import java.util.Date; import java.util.Date;
import java.util.List; import java.util.List;
import java.util.UUID; import java.util.UUID;
...@@ -35,48 +42,76 @@ public class ProductionPlanReportDaoImpl extends AbstractBaseDao implements Prod ...@@ -35,48 +42,76 @@ public class ProductionPlanReportDaoImpl extends AbstractBaseDao implements Prod
@Autowired @Autowired
private DinasTypeDao dinasTypeDao; private DinasTypeDao dinasTypeDao;
@Override
public KObject load(UUID id) { @Override
return (KObject) template.load(ENTITY, id); public KObject load(UUID id) {
} return (KObject) template.load(ENTITY, id);
}
@Override @Override
public Page<KObject> listProductionPlanReportInfoPaging(Page<KObject> page, UUID stationId, UUID productionLineId, Date startDate, Date endDate) { public Page<KObject> listProductionPlanReportInfoPaging(Page<KObject> page, UUID stationId, UUID productionLineId, Date startDate, Date endDate) {
KClass bean = Amino.getStaticMetadataContext().getBean(ProductionPlanReportConstant.ENTITY, KClass.class); KClass bean = Amino.getStaticMetadataContext().getBean(ProductionPlanReportConstant.ENTITY, KClass.class);
DetachedCriteria detachedCriteria = DetachedCriteria.forEntityName(bean.getName()); DetachedCriteria detachedCriteria = DetachedCriteria.forEntityName(bean.getName());
detachedCriteria.add(Restrictions.eq(BaseConstants.DEL, false)); detachedCriteria.add(Restrictions.eq(BaseConstants.DEL, false));
if(null!=stationId){ if (null != stationId) {
detachedCriteria.add(Restrictions.eq("station.id", stationId)); detachedCriteria.add(Restrictions.eq("station.id", stationId));
} }
if(null!=productionLineId){ if (null != productionLineId) {
detachedCriteria.add(Restrictions.eq("productionLine.id", productionLineId)); detachedCriteria.add(Restrictions.eq("productionLine.id", productionLineId));
} }
if(null!=startDate){ if (null != startDate) {
detachedCriteria.add(Restrictions.ge("productionPlanDate", startDate)); detachedCriteria.add(Restrictions.ge("productionPlanDate", startDate));
} }
if(null!=endDate){ if (null != endDate) {
detachedCriteria.add(Restrictions.le("productionPlanDate", startDate)); detachedCriteria.add(Restrictions.le("productionPlanDate", startDate));
} }
dinasTypeDao.addRegionalCompanyFilter(detachedCriteria); dinasTypeDao.addRegionalCompanyFilter(detachedCriteria);
detachedCriteria.addOrder(Order.desc(BaseConstants.CREATE_TIME)); detachedCriteria.addOrder(Order.desc(BaseConstants.CREATE_TIME));
int offset = page.getPageSize() * (page.getPageNo() - 1); int offset = page.getPageSize() * (page.getPageNo() - 1);
List<KObject> list = (List<KObject>) template.findByCriteria(detachedCriteria,offset,page.getPageSize()); List<KObject> list = (List<KObject>) template.findByCriteria(detachedCriteria, offset, page.getPageSize());
Long totalCount = (Long) detachedCriteria.setProjection(Projections.rowCount()).getExecutableCriteria(template.getSessionFactory().getCurrentSession()).uniqueResult(); Long totalCount = (Long) detachedCriteria.setProjection(Projections.rowCount()).getExecutableCriteria(template.getSessionFactory().getCurrentSession()).uniqueResult();
page.setTotal(Math.toIntExact(totalCount)); page.setTotal(Math.toIntExact(totalCount));
page.setDatas(list); ArrayList<KObject> kObjects = removeBaseFiled(list);
page.setDatas(kObjects);
return page; return page;
} }
private ArrayList<KObject> removeBaseFiled(List<KObject> list) {
ArrayList<KObject> kObjects = new ArrayList<>();
KObject dinasTypeDetailsKObj;
KObject[] dinasTypeDetails;
for (KObject kObject : list) {
KObject clone = kObject.clone();
clone.setNull(BaseConstants.CREATOR);
clone.setNull(BaseConstants.MODIFIER);
clone.setNull("regionalCompany");
clone.get("station").setNull(BaseConstants.CREATOR);
clone.get("station").setNull(BaseConstants.MODIFIER);
clone.get("station").setNull("regionalCompany");
dinasTypeDetailsKObj = clone.get("dinasTypeDetails");
if(null!=dinasTypeDetailsKObj){
dinasTypeDetails = dinasTypeDetailsKObj.toArray();
for (KObject dinasTypeDetail : dinasTypeDetails) {
dinasTypeDetail.get("dinasType").setNull(BaseConstants.CREATOR);
dinasTypeDetail.get("dinasType").setNull(BaseConstants.MODIFIER);
dinasTypeDetail.get("dinasType").setNull("regionalCompany");
}
}
kObjects.add(clone);
}
return kObjects;
}
@Override @Override
public List<KObject> getByCodeNum(String permitCode, UUID id) { public List<KObject> getByCodeNum(String permitCode, UUID id) {
KClass bean = Amino.getStaticMetadataContext().getBean(ProductionPlanReportConstant.ENTITY, KClass.class); KClass bean = Amino.getStaticMetadataContext().getBean(ProductionPlanReportConstant.ENTITY, KClass.class);
DetachedCriteria detachedCriteria = DetachedCriteria.forEntityName(bean.getName()); DetachedCriteria detachedCriteria = DetachedCriteria.forEntityName(bean.getName());
dinasTypeDao.addRegionalCompanyFilter(detachedCriteria); dinasTypeDao.addRegionalCompanyFilter(detachedCriteria);
detachedCriteria.add(Restrictions.eq(BaseConstants.DEL, false)); detachedCriteria.add(Restrictions.eq(BaseConstants.DEL, false));
if(id!=null){ if (id != null) {
detachedCriteria.add(Restrictions.ne("id", id)); detachedCriteria.add(Restrictions.ne("id", id));
} }
...@@ -86,14 +121,14 @@ public class ProductionPlanReportDaoImpl extends AbstractBaseDao implements Prod ...@@ -86,14 +121,14 @@ public class ProductionPlanReportDaoImpl extends AbstractBaseDao implements Prod
@Override @Override
public void modify(KObject kobject) { public void modify(KObject kobject) {
KObject id = load(kobject.getUuid("id")); KObject id = load(kobject.getUuid("id"));
kobject.set(BaseConstants.CREATOR,id.get(BaseConstants.CREATOR)); kobject.set(BaseConstants.CREATOR, id.get(BaseConstants.CREATOR));
kobject.set(BaseConstants.CREATE_TIME,id.getDate(BaseConstants.CREATE_TIME)); kobject.set(BaseConstants.CREATE_TIME, id.getDate(BaseConstants.CREATE_TIME));
KObject staff = AminoContextHolder.getContext().getStaff(); KObject staff = AminoContextHolder.getContext().getStaff();
kobject.set("regionalCompany", dinasTypeDao.getCurrentLoginRegionalCompany()); kobject.set("regionalCompany", dinasTypeDao.getCurrentLoginRegionalCompany());
kobject.set("modifyTime",new Date()); kobject.set("modifyTime", new Date());
kobject.set("warehousingStatus",id.getBoolean("warehousingStatus")); kobject.set("warehousingStatus", id.getBoolean("warehousingStatus"));
kobject.set(BaseConstants.MODIFIER,staff); kobject.set(BaseConstants.MODIFIER, staff);
kobject.set(BaseConstants.DEL,false); kobject.set(BaseConstants.DEL, false);
template.merge(kobject); template.merge(kobject);
} }
...@@ -104,10 +139,11 @@ public class ProductionPlanReportDaoImpl extends AbstractBaseDao implements Prod ...@@ -104,10 +139,11 @@ public class ProductionPlanReportDaoImpl extends AbstractBaseDao implements Prod
detachedCriteria.add(Restrictions.eq(BaseConstants.DEL, false)); detachedCriteria.add(Restrictions.eq(BaseConstants.DEL, false));
detachedCriteria.add(Restrictions.eq("station.id", stationId)); detachedCriteria.add(Restrictions.eq("station.id", stationId));
detachedCriteria.add(Restrictions.eq("productionPlanDate", date)); detachedCriteria.add(Restrictions.eq("productionPlanDate", date));
if(null!=ids && ids.size()>0){ if (null != ids && ids.size() > 0) {
detachedCriteria.add(Restrictions.not(Restrictions.in("id", ids))); detachedCriteria.add(Restrictions.not(Restrictions.in("id", ids)));
} }
return (List<KObject>) template.findByCriteria(detachedCriteria); List<KObject> byCriteria = (List<KObject>) template.findByCriteria(detachedCriteria);
return removeBaseFiled(byCriteria);
} }
@Override @Override
...@@ -116,7 +152,7 @@ public class ProductionPlanReportDaoImpl extends AbstractBaseDao implements Prod ...@@ -116,7 +152,7 @@ public class ProductionPlanReportDaoImpl extends AbstractBaseDao implements Prod
{ {
Query query = session.createQuery("delete from " + ProductionPlanReportConstant.DETAIL_ENTITY + Query query = session.createQuery("delete from " + ProductionPlanReportConstant.DETAIL_ENTITY +
" as a where a.master.id = :planReportId "); " as a where a.master.id = :planReportId ");
query.setParameter("planReportId",planReportId); query.setParameter("planReportId", planReportId);
return query.executeUpdate(); return query.executeUpdate();
} }
); );
...@@ -127,58 +163,58 @@ public class ProductionPlanReportDaoImpl extends AbstractBaseDao implements Prod ...@@ -127,58 +163,58 @@ public class ProductionPlanReportDaoImpl extends AbstractBaseDao implements Prod
KClass bean = Amino.getStaticMetadataContext().getBean(ProductionPlanReportConstant.DETAIL_ENTITY, KClass.class); KClass bean = Amino.getStaticMetadataContext().getBean(ProductionPlanReportConstant.DETAIL_ENTITY, KClass.class);
DetachedCriteria detachedCriteria = DetachedCriteria.forEntityName(bean.getName()); DetachedCriteria detachedCriteria = DetachedCriteria.forEntityName(bean.getName());
detachedCriteria.createAlias("master", "master"); detachedCriteria.createAlias("master", "master");
if(null!=stationId){ if (null != stationId) {
detachedCriteria.add(Restrictions.eq("master.station.id", stationId)); detachedCriteria.add(Restrictions.eq("master.station.id", stationId));
} }
if(null!=productionLineId){ if (null != productionLineId) {
detachedCriteria.add(Restrictions.eq("master.productionLine.id", productionLineId)); detachedCriteria.add(Restrictions.eq("master.productionLine.id", productionLineId));
} }
if(null!=startDate){ if (null != startDate) {
detachedCriteria.add(Restrictions.ge("master.productionPlanDate", startDate)); detachedCriteria.add(Restrictions.ge("master.productionPlanDate", startDate));
} }
if(null!=endDate){ if (null != endDate) {
detachedCriteria.add(Restrictions.le("master.productionPlanDate", startDate)); detachedCriteria.add(Restrictions.le("master.productionPlanDate", startDate));
} }
KObject currentLoginRegionalCompany = dinasTypeDao.getCurrentLoginRegionalCompany(); KObject currentLoginRegionalCompany = dinasTypeDao.getCurrentLoginRegionalCompany();
detachedCriteria.add(Restrictions.eq("master.regionalCompany.id",currentLoginRegionalCompany.getUuid("id"))) detachedCriteria.add(Restrictions.eq("master.regionalCompany.id", currentLoginRegionalCompany.getUuid("id")))
.add(Restrictions.eq("master.del",false)); .add(Restrictions.eq("master.del", false));
detachedCriteria.setProjection(Projections.projectionList() detachedCriteria.setProjection(Projections.projectionList()
.add(Projections.alias(Projections.rowCount(),"count")) .add(Projections.alias(Projections.rowCount(), "count"))
.add(Projections.alias(Projections.avg("dinasWeight"),"avgDinasWeight")) .add(Projections.alias(Projections.avg("dinasWeight"), "avgDinasWeight"))
.add(Projections.alias(Projections.sum("dinasWeight"),"sumDinasWeight")) .add(Projections.alias(Projections.sum("dinasWeight"), "sumDinasWeight"))
.add(Projections.alias(Projections.groupProperty("dinasType"),"dinasType"))); .add(Projections.alias(Projections.groupProperty("dinasType"), "dinasType")));
detachedCriteria.setResultTransformer(Transformers.ALIAS_TO_ENTITY_MAP); detachedCriteria.setResultTransformer(Transformers.ALIAS_TO_ENTITY_MAP);
return template.findByCriteria(detachedCriteria); return template.findByCriteria(detachedCriteria);
} }
@Override @Override
public UUID creteDetails(KObject insertDetailKobject) { public UUID creteDetails(KObject insertDetailKobject) {
insertDetailKobject.set("id",UUID.randomUUID()); insertDetailKobject.set("id", UUID.randomUUID());
return ((UUID)template.save(DETAIL_ENTITY,insertDetailKobject)); return ((UUID) template.save(DETAIL_ENTITY, insertDetailKobject));
} }
@Override @Override
public UUID create(KObject kObject) { public UUID create(KObject kObject) {
KObject staff = AminoContextHolder.getContext().getStaff(); KObject staff = AminoContextHolder.getContext().getStaff();
if(null==kObject.getUuid(BaseConstants.ID)){ if (null == kObject.getUuid(BaseConstants.ID)) {
kObject.set(BaseConstants.ID,UUID.randomUUID()); kObject.set(BaseConstants.ID, UUID.randomUUID());
} }
kObject.set("regionalCompany", dinasTypeDao.getCurrentLoginRegionalCompany()); kObject.set("regionalCompany", dinasTypeDao.getCurrentLoginRegionalCompany());
kObject.set("warehousingStatus", false); kObject.set("warehousingStatus", false);
kObject.set(BaseConstants.CREATOR,staff); kObject.set(BaseConstants.CREATOR, staff);
kObject.set(BaseConstants.CREATE_TIME, new Date()); kObject.set(BaseConstants.CREATE_TIME, new Date());
kObject.set(BaseConstants.DEL,false); kObject.set(BaseConstants.DEL, false);
return ((UUID)template.save(kObject)); return ((UUID) template.save(kObject));
} }
@Override @Override
public void deleteById(UUID id) { public void deleteById(UUID id) {
KObject staff = AminoContextHolder.getContext().getStaff(); KObject staff = AminoContextHolder.getContext().getStaff();
KObject kobject = (KObject) template.load(ENTITY, id); KObject kobject = (KObject) template.load(ENTITY, id);
kobject.set(BaseConstants.MODIFY_TIME,new Date()); kobject.set(BaseConstants.MODIFY_TIME, new Date());
kobject.set(BaseConstants.MODIFIER,staff); kobject.set(BaseConstants.MODIFIER, staff);
kobject.set(BaseConstants.DEL,true); kobject.set(BaseConstants.DEL, true);
template.update(kobject); template.update(kobject);
} }
...@@ -189,8 +225,8 @@ public class ProductionPlanReportDaoImpl extends AbstractBaseDao implements Prod ...@@ -189,8 +225,8 @@ public class ProductionPlanReportDaoImpl extends AbstractBaseDao implements Prod
{ {
Query query = session.createQuery("update " + ProductionPlanReportConstant.ENTITY + Query query = session.createQuery("update " + ProductionPlanReportConstant.ENTITY +
" as a set a.del = true where a.station.id = :stationId and a.productionPlanDate = :productionPlanDate"); " as a set a.del = true where a.station.id = :stationId and a.productionPlanDate = :productionPlanDate");
query.setParameter("stationId",stationId); query.setParameter("stationId", stationId);
query.setParameter("productionPlanDate",date); query.setParameter("productionPlanDate", date);
return query.executeUpdate(); return query.executeUpdate();
} }
...@@ -201,13 +237,13 @@ public class ProductionPlanReportDaoImpl extends AbstractBaseDao implements Prod ...@@ -201,13 +237,13 @@ public class ProductionPlanReportDaoImpl extends AbstractBaseDao implements Prod
public List<KObject> getNoWareHousing(List<UUID> productionLineIds) { public List<KObject> getNoWareHousing(List<UUID> productionLineIds) {
DetachedCriteria detachedCriteria = DetachedCriteria.forEntityName(ENTITY); DetachedCriteria detachedCriteria = DetachedCriteria.forEntityName(ENTITY);
detachedCriteria.add(Restrictions.eq(BaseConstants.DEL, false)); detachedCriteria.add(Restrictions.eq(BaseConstants.DEL, false));
if(CollectionUtils.isEmpty(productionLineIds)){ if (CollectionUtils.isEmpty(productionLineIds)) {
detachedCriteria.add(Restrictions.le("productionPlanDate", new Date())); detachedCriteria.add(Restrictions.le("productionPlanDate", new Date()));
}else{ } else {
detachedCriteria.add(Restrictions.in("id",productionLineIds)); detachedCriteria.add(Restrictions.in("id", productionLineIds));
} }
detachedCriteria.add(Restrictions.eq("warehousingStatus", false)); detachedCriteria.add(Restrictions.eq("warehousingStatus", false));
return (List<KObject>)template.findByCriteria(detachedCriteria); return (List<KObject>) template.findByCriteria(detachedCriteria);
} }
......
...@@ -38,7 +38,8 @@ public class SandAreaDinasCountWarningCalculate implements IWarningCalculator{ ...@@ -38,7 +38,8 @@ public class SandAreaDinasCountWarningCalculate implements IWarningCalculator{
return false; return false;
} }
//业务数据与设置的阀值做比较,计算是否预警 //业务数据与设置的阀值做比较,计算是否预警
if (dischargingWeight >= Double.parseDouble(max)) { //开采量乘10000
if (dischargingWeight >= Double.parseDouble(max)*10000) {
warnMessage = "["+target+"]"+sandAreaName+"开采量已经达到"+dischargingWeight+",超出预警值"+max; warnMessage = "["+target+"]"+sandAreaName+"开采量已经达到"+dischargingWeight+",超出预警值"+max;
return true; return true;
} }
......
...@@ -57,7 +57,7 @@ ...@@ -57,7 +57,7 @@
<m:desc></m:desc> <m:desc></m:desc>
</m:field> </m:field>
<m:field> <m:field>
<m:name>transportCompany.name</m:name> <m:name>transportCompany.companyName</m:name>
<m:title>所属运输公司name</m:title> <m:title>所属运输公司name</m:title>
<m:type>string</m:type> <m:type>string</m:type>
<m:ref> <m:ref>
......
...@@ -46,7 +46,7 @@ ...@@ -46,7 +46,7 @@
</column> </column>
</many-to-one> </many-to-one>
<many-to-one name="transportCompany" entity-name="com.xyst.dinas.transport.datamodel.TransportCompany" fetch="select"> <many-to-one name="transportCompany" entity-name="com.xyst.dinas.transport.datamodel.TransportCompany" fetch="select">
<column name="transportCompany" not-null="false"> <column name="transport_company_id" not-null="false">
<comment>所属运输公司</comment> <comment>所属运输公司</comment>
</column> </column>
</many-to-one> </many-to-one>
......
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