Commit c0cc59f5 by shiwenbo

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

parents fc9c82a2 6f00bc83
......@@ -307,9 +307,9 @@ public class DateTimeUtils {
/**
* 判断2个日期是否同月
* eg: isSameYear(2020-12-31,2021-01-01) false
* isSameYear(2020-12-31,2020-12-01) true
* isSameYear(2020-12-31,2021-12-01) true
* eg: isSameMonth(2020-12-31,2021-01-01) false
* isSameMonth(2020-12-31,2020-12-01) true
* isSameMonth(2020-12-31,2021-12-01) true
* @return Boolean
*/
public static Boolean isSameMonth(Date startDate , Date endDate) {
......
......@@ -25,5 +25,5 @@ public interface SandMiningAreaDao extends BaseDao {
Object groupByDischarging(List<UUID> regionalCompanyIds);
List<KObject> ListByRegionalCompanyIds(List<UUID> regionalCompanyIds, Boolean isInclude);
List<KObject> listByRegionalCompanyIds(List<UUID> regionalCompanyIds, Boolean isInclude);
}
......@@ -92,6 +92,7 @@ public class SandMiningAreaDaoImpl extends AbstractBaseDao implements SandMining
public Object groupByDischarging(List<UUID> regionalCompanyIds) {
DetachedCriteria detachedCriteria = getDetachedCriteria(regionalCompanyIds);
detachedCriteria.add(Restrictions.eq("del", false));
detachedCriteria.add(Restrictions.eq("status", 2));
detachedCriteria.setProjection(Projections.projectionList()
.add(Projections.alias(Projections.sum("sandMiningQuantity"),"sandMiningQuantity"))
.add(Projections.alias(Projections.groupProperty("regionalCompany.id"),"regionalCompany")));
......@@ -100,11 +101,13 @@ public class SandMiningAreaDaoImpl extends AbstractBaseDao implements SandMining
}
@Override
public List<KObject> ListByRegionalCompanyIds(List<UUID> regionalCompanyIds, Boolean isInclude) {
public List<KObject> listByRegionalCompanyIds(List<UUID> regionalCompanyIds, Boolean isInclude) {
DetachedCriteria detachedCriteria = getDetachedCriteria(regionalCompanyIds);
detachedCriteria.add(Restrictions.eq("del", false));
detachedCriteria.add(Restrictions.eq("status", 2));
detachedCriteria.add(Restrictions.in("regionalCompany.id", regionalCompanyIds));
if(!CollectionUtils.isEmpty(regionalCompanyIds)){
detachedCriteria.add(Restrictions.in("regionalCompany.id", regionalCompanyIds));
}
if(!isInclude){
detachedCriteria.add(Restrictions.in("sandMiningAreaType",
SandMiningAreaTypeEnum.ABANDONED_MINE_SAND.getValue(),
......
......@@ -40,10 +40,7 @@ public class SandMiningAreaServiceImpl implements SandMiningAreaService {
@Override
public UUID addSandMiningArea(KObject kObject) {
UUID uuid = sandMiningAreaDao.create(kObject);
return uuid;
return sandMiningAreaDao.create(kObject);
}
private String getAreaWarningInfo(KObject kObject) {
......@@ -103,7 +100,7 @@ public class SandMiningAreaServiceImpl implements SandMiningAreaService {
HashMap<String, Object> whereMap = new HashMap<>(1);
whereMap.put("status",2);
whereMap.put("del",false);
List<KObject> kObjects = sandMiningAreaDao.ListByRegionalCompanyIds (regionalCompanyIds,isInclude);
List<KObject> kObjects = sandMiningAreaDao.listByRegionalCompanyIds (regionalCompanyIds,isInclude);
List<HashMap<String,Object>> regionalCompanyList = new ArrayList<>();
HashMap<String, Object> regionalCompany;
HashMap<String, Object> temp = new HashMap<>(12);
......
......@@ -22,4 +22,6 @@ public interface PriceAdjustmentDao extends BaseDao {
UUID creteDetails(KObject insertDetailKobject);
Page<KObject> listPriceAdjustmentInfoPaging(PriceAdjustmentSearchEntity<KObject> priceAdjustmentSearchEntity);
List<KObject> getNewByStationId(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;
......@@ -13,9 +14,13 @@ public class PriceAdjustmentSearchEntity<T> extends Page<T> {
private Integer applyStatus;
private List<UUID> stationIds;
private List<UUID> regionalCompanyIds;
@DateTimeFormat(pattern = "yyyy-MM-dd")
private Date adjustmentStartDate;
@DateTimeFormat(pattern = "yyyy-MM-dd")
private Date adjustmentEndDate;
@DateTimeFormat(pattern = "yyyy-MM-dd")
private Date applyStartDate;
@DateTimeFormat(pattern = "yyyy-MM-dd")
private Date applyEndDate;
......
......@@ -17,6 +17,7 @@ import org.hibernate.criterion.Restrictions;
import org.hibernate.query.Query;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.orm.hibernate5.HibernateTemplate;
import org.springframework.util.CollectionUtils;
import java.util.Date;
import java.util.List;
......@@ -44,7 +45,7 @@ public class PriceAdjustmentDaoImpl extends AbstractBaseDao implements PriceAdju
KClass bean = Amino.getStaticMetadataContext().getBean(PriceAdjustmentConstant.ENTITY, KClass.class);
DetachedCriteria detachedCriteria = DetachedCriteria.forEntityName(bean.getName());
detachedCriteria.add(Restrictions.eq(BaseConstants.DEL, false));
if(null!=priceAdjustmentSearchEntity.getStationIds()){
if(!CollectionUtils.isEmpty(priceAdjustmentSearchEntity.getStationIds())){
detachedCriteria.add(Restrictions.in("station.id", priceAdjustmentSearchEntity.getStationIds()));
}
if(null!=priceAdjustmentSearchEntity.getAdjustmentStartDate()){
......@@ -59,7 +60,7 @@ public class PriceAdjustmentDaoImpl extends AbstractBaseDao implements PriceAdju
if(null!=priceAdjustmentSearchEntity.getApplyEndDate()){
detachedCriteria.add(Restrictions.le("applyDate", priceAdjustmentSearchEntity.getApplyEndDate()));
}
if(null!=priceAdjustmentSearchEntity.getRegionalCompanyIds()){
if(!CollectionUtils.isEmpty(priceAdjustmentSearchEntity.getRegionalCompanyIds())){
detachedCriteria.add(Restrictions.in("regionalCompany.id", priceAdjustmentSearchEntity.getRegionalCompanyIds()));
}
......@@ -75,6 +76,19 @@ public class PriceAdjustmentDaoImpl extends AbstractBaseDao implements PriceAdju
return priceAdjustmentSearchEntity;
}
@Override
public List<KObject> getNewByStationId(UUID id) {
KClass bean = Amino.getStaticMetadataContext().getBean(PriceAdjustmentConstant.ENTITY, KClass.class);
DetachedCriteria detachedCriteria = DetachedCriteria.forEntityName(bean.getName());
detachedCriteria.add(Restrictions.eq(BaseConstants.DEL, false));
detachedCriteria.add(Restrictions.in("station.id", id));
detachedCriteria.add(Restrictions.eq("status",2 ));
detachedCriteria.addOrder(Order.desc("adjustmentDate"));
List<KObject> byCriteria = (List<KObject>)template.findByCriteria(detachedCriteria, 0, 1);
return byCriteria;
}
@Override
public void modify(KObject kobject) {
......@@ -94,8 +108,8 @@ public class PriceAdjustmentDaoImpl extends AbstractBaseDao implements PriceAdju
template.execute(session ->
{
Query query = session.createQuery("delete from " + PriceAdjustmentConstant.DETAIL_ENTITY +
" where master.id = :PriceAdjustmentId ");
query.setParameter("PriceAdjustmentId",priceAdjustmentId);
" as a where a.master.id = :priceAdjustmentId ");
query.setParameter("priceAdjustmentId",priceAdjustmentId);
return query.executeUpdate();
}
);
......
......@@ -7,7 +7,10 @@ import com.xyst.dinas.price.entity.PriceAdjustmentSearchEntity;
import com.xyst.dinas.price.service.PriceAdjustmentService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.CollectionUtils;
import java.util.ArrayList;
import java.util.List;
import java.util.UUID;
@Transactional(rollbackFor = Exception.class)
......@@ -25,6 +28,16 @@ public class PriceAdjustmentServiceImpl implements PriceAdjustmentService {
return priceAdjustmentDao.listPriceAdjustmentInfoPaging(priceAdjustmentSearchEntity);
}
@Override
public List<KObject> getNewByStations(List<UUID> ids) {
if(CollectionUtils.isEmpty(ids)){
return null;
}
List<KObject> kObjects = new ArrayList<>();
ids.forEach(id-> kObjects.addAll(priceAdjustmentDao.getNewByStationId(id)));
return kObjects;
}
@Override
public UUID addPriceAdjustment(KObject kObject) {
......
......@@ -21,4 +21,5 @@ public interface PriceAdjustmentService {
Object queryByPaging(PriceAdjustmentSearchEntity<KObject> priceAdjustmentSearchEntity) throws Exception;
List<KObject> getNewByStations(List<UUID> ids);
}
......@@ -9,6 +9,7 @@ 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.PriceAdjustmentSearchEntity;
import com.xyst.dinas.price.service.PriceAdjustmentService;
......@@ -29,16 +30,22 @@ public class PriceAdjustmentController {
@Autowired
private PriceAdjustmentService priceAdjustmentService;
@Autowired
private DinasTypeService dinasTypeService;
@RequestMapping(value = "/list/page", method = RequestMethod.GET)
public ResponseObj getListPage(@RequestBody PriceAdjustmentSearchEntity<KObject> priceAdjustmentSearchEntity) throws Exception {
public ResponseObj getListPage(PriceAdjustmentSearchEntity<KObject> priceAdjustmentSearchEntity) throws Exception {
Page<KObject> objectPage = new Page<>();
objectPage.setPageNo(priceAdjustmentSearchEntity.getPageNo());
objectPage.setPageSize(priceAdjustmentSearchEntity.getPageSize());
return ResponseObj.success("查询成功", priceAdjustmentService.queryByPaging(priceAdjustmentSearchEntity));
}
@RequestMapping(value = "/getDinasTypeByStationId", method = RequestMethod.GET)
public ResponseObj getDinasTypeByStationId(@RequestParam("stationId") UUID stationId) {
return ResponseObj.success("查询成功", dinasTypeService.getByStation(stationId));
}
/**
* 新建价格调整
*
......@@ -82,8 +89,22 @@ public class PriceAdjustmentController {
if (id == null) {
return ResponseObj.error(400, "'id' must be not null!");
}
KObject PriceAdjustment = priceAdjustmentService.getById(id);
return ResponseObj.success("获取成功", PriceAdjustment);
KObject priceAdjustment = priceAdjustmentService.getById(id);
return ResponseObj.success("获取成功", priceAdjustment);
}
/**
* 获取最新的砂石价格
* @param ids id
* @return 获取成功
*/
@GetMapping("getNewByStations")
public ResponseObj getNewByStations(@RequestParam("ids") List<UUID> ids) {
if (ids == null) {
return ResponseObj.error(400, "'id' must be not null!");
}
List<KObject> priceAdjustment = priceAdjustmentService.getNewByStations(ids);
return ResponseObj.success("获取成功", priceAdjustment);
}
......
......@@ -35,6 +35,14 @@
<m:description/>
<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>
......
......@@ -74,6 +74,25 @@
<m:description></m:description>
<m:default></m:default>
</m:attribute>
<m:attribute>
<m:annotations/>
<m:id>385cd381-5e31-412e-9031-ecb4f4cd382a</m:id>
<m:name>reason</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>e0e06e29-2285-4f78-88d8-e3e5b940ba45</m:id>
<m:name>failureReason</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>
......
......@@ -66,6 +66,16 @@
<comment>申请状态 0待审批 1审批中 2通过 3不通过</comment>
</column>
</property>
<property name="failureReason" type="nstring" not-null="false">
<column name="failureReason">
<comment>不通过原因</comment>
</column>
</property>
<property name="reason" type="nstring" not-null="false">
<column name="reason">
<comment>调价原因</comment>
</column>
</property>
<bag name="dinasTypeDetails" lazy="true" fetch="select" inverse="true">
<key column="master_id" not-null="true" />
<one-to-many entity-name="com.xyst.dinas.price.datamodel.PriceAdjustment$DinasTypeDetails" />
......@@ -76,7 +86,6 @@
<id name="id" type="uuid-binary" column="id" length="16">
<generator class="assigned" />
</id>
<many-to-one name="dinasType" entity-name="com.xyst.dinas.biz.datamodel.DinasType" fetch="select">
<column name="dinas_type_id" not-null="true">
<comment>砂石类型id</comment>
......@@ -92,5 +101,10 @@
<comment>砂石价格</comment>
</column>
</property>
<property name="dinasOldPrice" type="big_decimal" not-null="false">
<column name="dinas_old_price" precision="12" scale="4">
<comment>砂石原价</comment>
</column>
</property>
</class>
</hibernate-mapping>
\ No newline at end of file
......@@ -96,7 +96,7 @@ public class DischargingServiceImpl implements DischargingService {
UUID uuid = dischargingDao.create(kObject);
//生成预警消息的逻辑 如果是小于当前年份的记录,不生成预警
Boolean ltYear = DateTimeUtils.isLtNowYear(dischargingTime);
if (ltYear) {
if (!ltYear) {
setWarningRecord(sandMiningAreaId, dischargingTime, sandMiningArea);
}
return uuid;
......@@ -181,7 +181,10 @@ public class DischargingServiceImpl implements DischargingService {
KObject oldSandMiningArea = id.get("sandMiningArea");
UUID oldSandMiningAreaId = oldSandMiningArea.getUuid("id");
setWarningRecord(oldSandMiningAreaId, oldDischargingTime, oldSandMiningArea);
//如果采区和年都没有变化,则不判断旧的数据是否结束
if(oldSandMiningAreaId!=sandMiningAreaId&&!DateTimeUtils.isSameYear(oldDischargingTime,dischargingTime)){
setWarningRecord(oldSandMiningAreaId, oldDischargingTime, oldSandMiningArea);
}
if(!DateTimeUtils.isLtNowYear(dischargingTime)){
setWarningRecord(sandMiningAreaId, dischargingTime, sandMiningArea);
}
......
......@@ -20,6 +20,8 @@ import org.apache.commons.collections.CollectionUtils;
import org.json.JSONObject;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.transaction.annotation.Transactional;
import java.math.BigDecimal;
import java.util.*;
@Transactional(rollbackFor = Exception.class)
......@@ -188,7 +190,11 @@ public class ProductionPlanReportServiceImpl implements ProductionPlanReportServ
dinasTypeDetailJson.put("stationName",stationName);
dinasTypeDetailJson.put("dinasTypeId",dinasTypeDetail.get("dinasType").getUuid("id").toString());
dinasTypeDetailJson.put("dinasTypeName",dinasTypeDetail.get("dinasType").getString("dinasTypeName"));
dinasTypeDetailJson.put("amount",dinasTypeDetail.getDouble("dinasWeight"));
BigDecimal dinasWeight = dinasTypeDetail.getBigDecimal("dinasWeight");
if(0==dinasWeight.compareTo(BigDecimal.ZERO)){
continue;
}
dinasTypeDetailJson.put("amount",dinasWeight);
strings.add(dinasTypeDetailJson);
}
params.put("data",strings);
......
......@@ -9,10 +9,8 @@
<define-version>1.0</define-version>
<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.bap.staff.datamodel.Staff</dependency>
<dependency>com.xyst.dinas.biz.datamodel.xystOrganization</dependency>
<dependency>com.xyst.dinas.biz.datamodel.Station</dependency>
<dependency>com.beecode.bap.biztrait.datamodel.BasicBillRequirement</dependency>
<content>
<m:class>
......
......@@ -56,13 +56,13 @@
</column>
</property>
<property name="description" type="nstring" not-null="true">
<property name="description" type="nstring" not-null="false">
<column name="description" length="1000">
<comment>违规描述</comment>
</column>
</property>
<property name="processResult" type="nstring" not-null="true">
<property name="processResult" type="nstring" not-null="false">
<column name="process_result" length="1000">
<comment>违规处理结果</comment>
</column>
......
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