Commit 429e478d by 王炜晨

Merge branch 'develop' of…

Merge branch 'develop' of https://gitlab.beecode.cn/kunlun/xyst_dinas/xyst_dinas_backend into develop
parents 3fe41e74 acee2e4b
......@@ -123,7 +123,7 @@ public class DinasTypeDaoImpl extends AbstractBaseDao implements DinasTypeDao, D
@Override
public DetachedCriteria addRegionalCompanyFilter(DetachedCriteria detachedCriteria) {
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")));
}
return detachedCriteria;
......@@ -159,7 +159,7 @@ public class DinasTypeDaoImpl extends AbstractBaseDao implements DinasTypeDao, D
@Override
public boolean checkedStation(UUID dinasTypeId, UUID 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);
KObject kObject = bean.newInstance();
kObject.set("station", stationDao.load(stationId));
......
......@@ -36,9 +36,6 @@
<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.xystOrganization" fetch="select">
<column name="regional_company" not-null="false">
......
......@@ -29,4 +29,6 @@ public interface PriceAdjustmentDao extends BaseDao {
List<KObject> getNewDetailsByStation(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;
import com.beecode.amino.core.Amino;
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.type.KClass;
import com.beecode.bcp.type.KObject;
......@@ -80,7 +81,8 @@ public class PriceAdjustmentDaoImpl extends AbstractBaseDao implements PriceAdju
DetachedCriteria detachedCriteria = DetachedCriteria.forEntityName(bean.getName());
detachedCriteria.add(Restrictions.eq(BaseConstants.DEL, false));
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"));
List<KObject> byCriteria = (List<KObject>)template.findByCriteria(detachedCriteria, 0, 1);
......@@ -93,7 +95,7 @@ public class PriceAdjustmentDaoImpl extends AbstractBaseDao implements PriceAdju
DetachedCriteria detachedCriteria = DetachedCriteria.forEntityName(bean.getName());
detachedCriteria.add(Restrictions.eq(BaseConstants.DEL, false));
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"));
List<KObject> byCriteria = (List<KObject>)template.findByCriteria(detachedCriteria, 0, 1);
return byCriteria;
......@@ -146,6 +148,13 @@ public class PriceAdjustmentDaoImpl extends AbstractBaseDao implements PriceAdju
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
public void modify(KObject kobject) {
......
......@@ -3,6 +3,7 @@ package com.xyst.dinas.price.internal.service;
import com.beecode.bap.attachment.common.Page;
import com.beecode.bcp.type.KObject;
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.StationDinasTypePriceDetail;
import com.xyst.dinas.price.service.PriceAdjustmentService;
......@@ -11,6 +12,7 @@ import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.CollectionUtils;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.UUID;
......@@ -59,6 +61,17 @@ public class PriceAdjustmentServiceImpl implements PriceAdjustmentService {
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
public UUID addPriceAdjustment(KObject kObject) {
......
package com.xyst.dinas.price.service;
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.StationDinasTypePriceDetail;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.UUID;
......@@ -28,4 +30,7 @@ public interface PriceAdjustmentService {
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;
import com.beecode.bcp.type.json.JSONObjectUtils;
import com.beecode.inz.basis.team.pojo.ResponseObj;
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.price.constant.PriceAdjustmentConstant;
import com.xyst.dinas.price.entity.PriceAdjustmentEchartSearchEntity;
import com.xyst.dinas.price.entity.PriceAdjustmentSearchEntity;
import com.xyst.dinas.price.service.PriceAdjustmentService;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.format.annotation.DateTimeFormat;
import org.springframework.web.bind.annotation.*;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.UUID;
......@@ -92,6 +91,47 @@ public class PriceAdjustmentController {
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获取价格调整
......@@ -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
......@@ -44,6 +44,37 @@
<m:default/>
</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:annotations>
<m:annotation>
<m:type>bcp.type.json.JsonIgnore</m:type>
......
......@@ -10,6 +10,7 @@
<dependency>bcp.type.constraint.StringLength</dependency>
<dependency>com.beecode.inz.common.datamodel.BaseInfo</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.xyst.dinas.biz.datamodel.xystOrganization</dependency>
<dependency>com.xyst.dinas.biz.datamodel.Station</dependency>
......@@ -53,6 +54,14 @@
<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:annotations>
<m:annotation>
<m:type>bcp.type.constraint.NotNull</m:type>
......@@ -71,8 +80,8 @@
<m:name>applyStatus</m:name>
<m:title>申请状态</m:title>
<m:type>int</m:type>
<m:description></m:description>
<m:default></m:default>
<m:description/>
<m:default/>
</m:attribute>
<m:attribute>
<m:annotations/>
......@@ -80,6 +89,45 @@
<m:name>reason</m:name>
<m:title>调价原因</m:title>
<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:default></m:default>
</m:attribute>
......
......@@ -55,12 +55,40 @@
<comment>调整时间</comment>
</column>
</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">
<column name="apply_date">
<comment>申请时间</comment>
</column>
</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">
<column name="apply_status">
<comment>申请状态 0待审批 1审批中 2通过 3不通过</comment>
......@@ -106,5 +134,16 @@
<comment>砂石原价</comment>
</column>
</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>
</hibernate-mapping>
\ No newline at end of file
......@@ -5,11 +5,17 @@ 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.json.JSONObjectUtils;
import com.beecode.inz.basis.internal.dao.AbstractBaseDao;
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.production.constant.ProductionPlanReportConstant;
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.Order;
import org.hibernate.criterion.Projections;
......@@ -20,6 +26,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.orm.hibernate5.HibernateTemplate;
import org.springframework.util.CollectionUtils;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.UUID;
......@@ -35,6 +42,7 @@ public class ProductionPlanReportDaoImpl extends AbstractBaseDao implements Prod
@Autowired
private DinasTypeDao dinasTypeDao;
@Override
public KObject load(UUID id) {
return (KObject) template.load(ENTITY, id);
......@@ -45,29 +53,56 @@ public class ProductionPlanReportDaoImpl extends AbstractBaseDao implements Prod
KClass bean = Amino.getStaticMetadataContext().getBean(ProductionPlanReportConstant.ENTITY, KClass.class);
DetachedCriteria detachedCriteria = DetachedCriteria.forEntityName(bean.getName());
detachedCriteria.add(Restrictions.eq(BaseConstants.DEL, false));
if(null!=stationId){
if (null != stationId) {
detachedCriteria.add(Restrictions.eq("station.id", stationId));
}
if(null!=productionLineId){
if (null != productionLineId) {
detachedCriteria.add(Restrictions.eq("productionLine.id", productionLineId));
}
if(null!=startDate){
if (null != startDate) {
detachedCriteria.add(Restrictions.ge("productionPlanDate", startDate));
}
if(null!=endDate){
if (null != endDate) {
detachedCriteria.add(Restrictions.le("productionPlanDate", startDate));
}
dinasTypeDao.addRegionalCompanyFilter(detachedCriteria);
detachedCriteria.addOrder(Order.desc(BaseConstants.CREATE_TIME));
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();
page.setTotal(Math.toIntExact(totalCount));
page.setDatas(list);
ArrayList<KObject> kObjects = removeBaseFiled(list);
page.setDatas(kObjects);
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
public List<KObject> getByCodeNum(String permitCode, UUID id) {
......@@ -76,7 +111,7 @@ public class ProductionPlanReportDaoImpl extends AbstractBaseDao implements Prod
dinasTypeDao.addRegionalCompanyFilter(detachedCriteria);
detachedCriteria.add(Restrictions.eq(BaseConstants.DEL, false));
if(id!=null){
if (id != null) {
detachedCriteria.add(Restrictions.ne("id", id));
}
......@@ -86,14 +121,14 @@ public class ProductionPlanReportDaoImpl extends AbstractBaseDao implements Prod
@Override
public void modify(KObject kobject) {
KObject id = load(kobject.getUuid("id"));
kobject.set(BaseConstants.CREATOR,id.get(BaseConstants.CREATOR));
kobject.set(BaseConstants.CREATE_TIME,id.getDate(BaseConstants.CREATE_TIME));
kobject.set(BaseConstants.CREATOR, id.get(BaseConstants.CREATOR));
kobject.set(BaseConstants.CREATE_TIME, id.getDate(BaseConstants.CREATE_TIME));
KObject staff = AminoContextHolder.getContext().getStaff();
kobject.set("regionalCompany", dinasTypeDao.getCurrentLoginRegionalCompany());
kobject.set("modifyTime",new Date());
kobject.set("warehousingStatus",id.getBoolean("warehousingStatus"));
kobject.set(BaseConstants.MODIFIER,staff);
kobject.set(BaseConstants.DEL,false);
kobject.set("modifyTime", new Date());
kobject.set("warehousingStatus", id.getBoolean("warehousingStatus"));
kobject.set(BaseConstants.MODIFIER, staff);
kobject.set(BaseConstants.DEL, false);
template.merge(kobject);
}
......@@ -104,10 +139,11 @@ public class ProductionPlanReportDaoImpl extends AbstractBaseDao implements Prod
detachedCriteria.add(Restrictions.eq(BaseConstants.DEL, false));
detachedCriteria.add(Restrictions.eq("station.id", stationId));
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)));
}
return (List<KObject>) template.findByCriteria(detachedCriteria);
List<KObject> byCriteria = (List<KObject>) template.findByCriteria(detachedCriteria);
return removeBaseFiled(byCriteria);
}
@Override
......@@ -116,7 +152,7 @@ public class ProductionPlanReportDaoImpl extends AbstractBaseDao implements Prod
{
Query query = session.createQuery("delete from " + ProductionPlanReportConstant.DETAIL_ENTITY +
" as a where a.master.id = :planReportId ");
query.setParameter("planReportId",planReportId);
query.setParameter("planReportId", planReportId);
return query.executeUpdate();
}
);
......@@ -127,58 +163,58 @@ public class ProductionPlanReportDaoImpl extends AbstractBaseDao implements Prod
KClass bean = Amino.getStaticMetadataContext().getBean(ProductionPlanReportConstant.DETAIL_ENTITY, KClass.class);
DetachedCriteria detachedCriteria = DetachedCriteria.forEntityName(bean.getName());
detachedCriteria.createAlias("master", "master");
if(null!=stationId){
if (null != stationId) {
detachedCriteria.add(Restrictions.eq("master.station.id", stationId));
}
if(null!=productionLineId){
if (null != productionLineId) {
detachedCriteria.add(Restrictions.eq("master.productionLine.id", productionLineId));
}
if(null!=startDate){
if (null != startDate) {
detachedCriteria.add(Restrictions.ge("master.productionPlanDate", startDate));
}
if(null!=endDate){
if (null != endDate) {
detachedCriteria.add(Restrictions.le("master.productionPlanDate", startDate));
}
KObject currentLoginRegionalCompany = dinasTypeDao.getCurrentLoginRegionalCompany();
detachedCriteria.add(Restrictions.eq("master.regionalCompany.id",currentLoginRegionalCompany.getUuid("id")))
.add(Restrictions.eq("master.del",false));
detachedCriteria.add(Restrictions.eq("master.regionalCompany.id", currentLoginRegionalCompany.getUuid("id")))
.add(Restrictions.eq("master.del", false));
detachedCriteria.setProjection(Projections.projectionList()
.add(Projections.alias(Projections.rowCount(),"count"))
.add(Projections.alias(Projections.avg("dinasWeight"),"avgDinasWeight"))
.add(Projections.alias(Projections.sum("dinasWeight"),"sumDinasWeight"))
.add(Projections.alias(Projections.groupProperty("dinasType"),"dinasType")));
.add(Projections.alias(Projections.rowCount(), "count"))
.add(Projections.alias(Projections.avg("dinasWeight"), "avgDinasWeight"))
.add(Projections.alias(Projections.sum("dinasWeight"), "sumDinasWeight"))
.add(Projections.alias(Projections.groupProperty("dinasType"), "dinasType")));
detachedCriteria.setResultTransformer(Transformers.ALIAS_TO_ENTITY_MAP);
return template.findByCriteria(detachedCriteria);
}
@Override
public UUID creteDetails(KObject insertDetailKobject) {
insertDetailKobject.set("id",UUID.randomUUID());
return ((UUID)template.save(DETAIL_ENTITY,insertDetailKobject));
insertDetailKobject.set("id", UUID.randomUUID());
return ((UUID) template.save(DETAIL_ENTITY, insertDetailKobject));
}
@Override
public UUID create(KObject kObject) {
KObject staff = AminoContextHolder.getContext().getStaff();
if(null==kObject.getUuid(BaseConstants.ID)){
kObject.set(BaseConstants.ID,UUID.randomUUID());
if (null == kObject.getUuid(BaseConstants.ID)) {
kObject.set(BaseConstants.ID, UUID.randomUUID());
}
kObject.set("regionalCompany", dinasTypeDao.getCurrentLoginRegionalCompany());
kObject.set("warehousingStatus", false);
kObject.set(BaseConstants.CREATOR,staff);
kObject.set(BaseConstants.CREATOR, staff);
kObject.set(BaseConstants.CREATE_TIME, new Date());
kObject.set(BaseConstants.DEL,false);
return ((UUID)template.save(kObject));
kObject.set(BaseConstants.DEL, false);
return ((UUID) template.save(kObject));
}
@Override
public void deleteById(UUID id) {
KObject staff = AminoContextHolder.getContext().getStaff();
KObject kobject = (KObject) template.load(ENTITY, id);
kobject.set(BaseConstants.MODIFY_TIME,new Date());
kobject.set(BaseConstants.MODIFIER,staff);
kobject.set(BaseConstants.DEL,true);
kobject.set(BaseConstants.MODIFY_TIME, new Date());
kobject.set(BaseConstants.MODIFIER, staff);
kobject.set(BaseConstants.DEL, true);
template.update(kobject);
}
......@@ -189,8 +225,8 @@ public class ProductionPlanReportDaoImpl extends AbstractBaseDao implements Prod
{
Query query = session.createQuery("update " + ProductionPlanReportConstant.ENTITY +
" as a set a.del = true where a.station.id = :stationId and a.productionPlanDate = :productionPlanDate");
query.setParameter("stationId",stationId);
query.setParameter("productionPlanDate",date);
query.setParameter("stationId", stationId);
query.setParameter("productionPlanDate", date);
return query.executeUpdate();
}
......@@ -201,13 +237,13 @@ public class ProductionPlanReportDaoImpl extends AbstractBaseDao implements Prod
public List<KObject> getNoWareHousing(List<UUID> productionLineIds) {
DetachedCriteria detachedCriteria = DetachedCriteria.forEntityName(ENTITY);
detachedCriteria.add(Restrictions.eq(BaseConstants.DEL, false));
if(CollectionUtils.isEmpty(productionLineIds)){
if (CollectionUtils.isEmpty(productionLineIds)) {
detachedCriteria.add(Restrictions.le("productionPlanDate", new Date()));
}else{
detachedCriteria.add(Restrictions.in("id",productionLineIds));
} else {
detachedCriteria.add(Restrictions.in("id", productionLineIds));
}
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{
return false;
}
//业务数据与设置的阀值做比较,计算是否预警
if (dischargingWeight >= Double.parseDouble(max)) {
//开采量乘10000
if (dischargingWeight >= Double.parseDouble(max)*10000) {
warnMessage = "["+target+"]"+sandAreaName+"开采量已经达到"+dischargingWeight+",超出预警值"+max;
return true;
}
......
......@@ -57,7 +57,7 @@
<m:desc></m:desc>
</m:field>
<m:field>
<m:name>transportCompany.name</m:name>
<m:name>transportCompany.companyName</m:name>
<m:title>所属运输公司name</m:title>
<m:type>string</m:type>
<m:ref>
......
......@@ -46,7 +46,7 @@
</column>
</many-to-one>
<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>
</column>
</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