Commit 509aa12b by 高晓磊

调价申请-获取区域公司的调价趋势图&&调价申请权限配置

parent a38e2d9c
package com.xyst.dinas.price.config;
import com.beecode.amino.metadata.runtime.MetadataMech;
import com.beecode.bcp.type.KClass;
import com.beecode.bcp.type.TypeConstants;
import com.xyst.dinas.price.constant.RegionalCompanyPriceAuthorityConstant;
import com.xyst.dinas.price.dao.RegionalCompanyPriceAuthorityDao;
import com.xyst.dinas.price.internal.dao.RegionalCompanyPriceAuthorityDaoImpl;
import com.xyst.dinas.price.internal.service.RegionalCompanyPriceAuthorityServiceImpl;
import com.xyst.dinas.price.service.RegionalCompanyPriceAuthorityService;
import com.xyst.dinas.price.web.RegionalCompanyPriceAuthorityController;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.context.annotation.Bean;
import org.springframework.core.io.ClassPathResource;
/**
* @author scol
*/
public class RegionalCompanyPriceAuthorityConfiguration {
@Autowired
@Qualifier(TypeConstants.CLASS_MECH)
private MetadataMech<KClass> typeMech;
@Bean(RegionalCompanyPriceAuthorityConstant.ENTITY)
public KClass regionalCompanyPriceAuthorityEntity() {
return typeMech.createStaticBeanByResource(
new ClassPathResource("/com/xyst/dinas/price/datamodel/RegionalCompanyPriceAuthority.jmx", KClass.class));
}
//RegionalCompanyPriceAuthorityDaoImpl相关bean配置
@Bean
public RegionalCompanyPriceAuthorityDao regionalCompanyPriceAuthorityDao() {
return new RegionalCompanyPriceAuthorityDaoImpl();
}
@Bean
public RegionalCompanyPriceAuthorityService regionalCompanyPriceAuthorityService(){
return new RegionalCompanyPriceAuthorityServiceImpl();
}
@Bean
public RegionalCompanyPriceAuthorityController regionalCompanyPriceAuthorityController(){
return new RegionalCompanyPriceAuthorityController();
}
}
package com.xyst.dinas.price.constant;
public interface RegionalCompanyPriceAuthorityConstant {
/**
* 实体名
*/
String ENTITY = "com.xyst.dinas.price.datamodel.RegionalCompanyPriceAuthority";
}
......@@ -17,6 +17,8 @@ public interface PriceAdjustmentDao extends BaseDao {
UUID create(KObject kObject);
List<KObject> getSameAdjustmentDateAndLtCreateDate(Date adjustmentDate, Date createTime, UUID stationId);
void modify(KObject kobject);
void deleteDetailByMasterId(UUID planReportId);
......@@ -45,6 +47,11 @@ public interface PriceAdjustmentDao extends BaseDao {
* 将已生效的改成以失效
* @param date
*/
void updateToEnd(Date date);
void updateNotOverToEnd(Date date);
void updateToReject(Date date);
List<KObject> getNewsByRegionalCompanyIds(List<UUID> ids);
List<KObject> getSameAdjustmentDateAndLtCreateDate(KObject kobject);
}
package com.xyst.dinas.price.dao;
import com.beecode.bcp.type.KObject;
import com.beecode.inz.basis.dao.BaseDao;
import java.util.List;
import java.util.UUID;
public interface RegionalCompanyPriceAuthorityDao extends BaseDao {
KObject load(UUID id);
UUID create(KObject kObject);
void deleteById(UUID id);
void modify(KObject kobject);
List<KObject> listAllCheck(List<UUID> ids);
boolean checked(UUID currentRegionalCompanyId, UUID checkedRegionalCompanyId);
boolean unChecked(UUID currentRegionalCompanyId, UUID checkedRegionalCompanyId);
}
......@@ -17,7 +17,11 @@ public enum PriceAdjustmentAdjustmentStatusEnum {
/**
* 已结束
*/
OVER(2);
OVER(2),
/**
* 废除
*/
ABOLITION(3);
int value;
......
package com.xyst.dinas.price.internal.dao;
import com.beecode.amino.core.Amino;
import com.beecode.bap.staff.BapContext;
import com.beecode.bcp.core.context.AminoContextHolder;
import com.beecode.bcp.type.KClass;
import com.beecode.bcp.type.KObject;
import com.beecode.inz.basis.internal.dao.AbstractBaseDao;
import com.beecode.inz.common.BaseConstants;
import com.xyst.dinas.biz.dao.DinasOrganizationDao;
import com.xyst.dinas.biz.dao.StationDao;
import com.xyst.dinas.price.constant.RegionalCompanyPriceAuthorityConstant;
import com.xyst.dinas.price.dao.RegionalCompanyPriceAuthorityDao;
import org.hibernate.criterion.DetachedCriteria;
import org.hibernate.criterion.Restrictions;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.orm.hibernate5.HibernateTemplate;
import org.springframework.util.CollectionUtils;
import java.io.Serializable;
import java.util.Date;
import java.util.List;
import java.util.UUID;
public class RegionalCompanyPriceAuthorityDaoImpl extends AbstractBaseDao implements RegionalCompanyPriceAuthorityDao, RegionalCompanyPriceAuthorityConstant {
@Autowired
private HibernateTemplate template;
@Autowired
private DinasOrganizationDao dinasOrganizationDao;
/**
* 抽象方法,需要实现类提供HibernateTemplate
*
* @return
*/
@Override
protected HibernateTemplate getHibernateTemplate() {
return template;
}
/**
* 抽象方法,需要实现类提供当前ModelName
*
* @return
*/
@Override
protected String getModelName() {
return ENTITY;
}
@Override
public KObject load(UUID id) {
return (KObject) template.load(ENTITY, id);
}
@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 staff = AminoContextHolder.getContext().getStaff();
kobject.set("modifyTime", new Date());
kobject.set(BaseConstants.MODIFIER, staff.getUuid("id"));
kobject.set("del", false);
template.merge(kobject);
}
@Override
public List<KObject> listAllCheck(List<UUID> ids) {
KClass bean = Amino.getStaticMetadataContext().getBean(RegionalCompanyPriceAuthorityConstant.ENTITY, KClass.class);
DetachedCriteria detachedCriteria = DetachedCriteria.forEntityName(bean.getName());
detachedCriteria.add(Restrictions.eq(BaseConstants.DEL, false));
if(!CollectionUtils.isEmpty(ids)){
detachedCriteria.add(Restrictions.in("currentRegionalCompany.id",ids));
}
List<?> byCriteria = template.findByCriteria(detachedCriteria);
return (List<KObject>)byCriteria;
}
@Override
public UUID create(KObject kObject) {
KObject staff = AminoContextHolder.getContext().getStaff();
kObject.set("id", UUID.randomUUID());
kObject.set(BaseConstants.CREATOR, staff);
kObject.set(BaseConstants.CREATE_TIME, new Date());
kObject.set("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("modifyTime", new Date());
kobject.set(BaseConstants.MODIFIER, staff);
kobject.set("del", true);
template.update(kobject);
}
@Override
public boolean checked(UUID currentRegionalCompanyId, UUID checkedRegionalCompanyId) {
List<KObject> byExample = getByExample(currentRegionalCompanyId, checkedRegionalCompanyId);
if ((byExample.size()<=0)) {
KClass bean = Amino.getStaticMetadataContext().getBean(ENTITY, KClass.class);
KObject kObject = bean.newInstance();
kObject.set("currentRegionalCompany", dinasOrganizationDao.load(currentRegionalCompanyId));
kObject.set("canLookRegionalCompany", dinasOrganizationDao.load(checkedRegionalCompanyId));
kObject.set("id", UUID.randomUUID());
kObject.set("createTime",new Date());
kObject.set("del", false);
Serializable save = template.save(ENTITY, kObject);
return null!=save.toString();
} else if(byExample.size()==1){
KObject kObject =byExample.get(0);
if(!kObject.getBoolean(BaseConstants.DEL)){
return false;
}
kObject.set("del",false);
template.update(ENTITY,kObject);
return true;
}
return false;
}
@Override
public boolean unChecked(UUID currentRegionalCompanyId, UUID checkedRegionalCompanyId) {
List<KObject> byExample = getByExample(currentRegionalCompanyId, checkedRegionalCompanyId);
if (byExample.size()>0) {
for (KObject kObject : byExample) {
kObject.set("del",true);
template.update(ENTITY,kObject);
}
return true;
}
return false;
}
private List<KObject> getByExample(UUID currentRegionalCompanyId, UUID checkedRegionalCompanyId) {
KClass bean = Amino.getStaticMetadataContext().getBean(ENTITY, KClass.class);
DetachedCriteria detachedCriteria = DetachedCriteria.forEntityName(bean.getName());
detachedCriteria.add(Restrictions.eq("currentRegionalCompany.id", currentRegionalCompanyId));
detachedCriteria.add(Restrictions.eq("canLookRegionalCompany.id", checkedRegionalCompanyId));
return (List<KObject>) template.findByCriteria(detachedCriteria);
}
}
package com.xyst.dinas.price.internal.service;
import com.beecode.bap.attachment.common.Page;
import com.beecode.bap.workflow.core.BizProcessState;
import com.beecode.bcp.type.KObject;
import com.xyst.dinas.price.dao.PriceAdjustmentDao;
import com.xyst.dinas.price.entity.PriceAdjustmentEchartReturnEntity;
......@@ -8,10 +9,12 @@ 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;
import com.xyst.dinas.price.service.RegionalCompanyPriceAuthorityService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.CollectionUtils;
import java.sql.Array;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
......@@ -20,12 +23,15 @@ import java.util.UUID;
@Transactional(rollbackFor = Exception.class)
public class PriceAdjustmentServiceImpl implements PriceAdjustmentService {
@Autowired
private PriceAdjustmentDao priceAdjustmentDao;
@Autowired
private PriceAdjustmentDao priceAdjustmentDao;
@Autowired
private RegionalCompanyPriceAuthorityService regionalCompanyPriceAuthorityService;
@Override
public Page<KObject> queryByPaging(PriceAdjustmentSearchEntity<KObject> priceAdjustmentSearchEntity) throws Exception {
if(priceAdjustmentSearchEntity.getPageNo()==0||priceAdjustmentSearchEntity.getPageSize()==0) {
if (priceAdjustmentSearchEntity.getPageNo() == 0 || priceAdjustmentSearchEntity.getPageSize() == 0) {
throw new Exception("pageSize or offset is null");
}
return priceAdjustmentDao.listPriceAdjustmentInfoPaging(priceAdjustmentSearchEntity);
......@@ -33,11 +39,11 @@ public class PriceAdjustmentServiceImpl implements PriceAdjustmentService {
@Override
public List<KObject> getNewByStations(List<UUID> ids) {
if(CollectionUtils.isEmpty(ids)){
if (CollectionUtils.isEmpty(ids)) {
return null;
}
List<KObject> kObjects = new ArrayList<>();
ids.forEach(id-> kObjects.addAll(priceAdjustmentDao.getNewByStationId(id)));
ids.forEach(id -> kObjects.addAll(priceAdjustmentDao.getNewByStationId(id)));
return kObjects;
}
......@@ -51,7 +57,7 @@ public class PriceAdjustmentServiceImpl implements PriceAdjustmentService {
@Override
public KObject validateByStationId(UUID id) {
List<KObject> kObjects = priceAdjustmentDao.getByStationId(id);
if(CollectionUtils.isEmpty(kObjects)){
if (CollectionUtils.isEmpty(kObjects)) {
return null;
}
return kObjects.get(0);
......@@ -68,12 +74,45 @@ public class PriceAdjustmentServiceImpl implements PriceAdjustmentService {
return priceAdjustmentDao.getDetailsByFilter(priceAdjustmentEchartSearchEntity);
}
/**
* 1.获取当前正在生效的所有砂石类型
* 2.排除掉最新审批未维护的砂石类型,这里要根据场站循环
* 3.获取场站最新价格
*/
@Override
public void updatePriceAdjustmentStatus() {
//先结束旧
priceAdjustmentDao.updateToEnd(new Date());
//结束当前生效中
priceAdjustmentDao.updateNotOverToEnd(new Date());
//再开始新的
priceAdjustmentDao.updateToStart(new Date());
//将未审批的记录改为驳回
priceAdjustmentDao.updateToReject(new Date());
}
/**
* @param currentRegionalCompanyId
* @return
*/
@Override
public List<KObject> getNewsByRegionalCompanyIds(UUID currentRegionalCompanyId) {
ArrayList<UUID> regionalCompanyIds = null;
if (null != currentRegionalCompanyId) {
regionalCompanyIds = new ArrayList<>();
regionalCompanyIds.add(currentRegionalCompanyId);
}
List<KObject> kObjects = regionalCompanyPriceAuthorityService.listAllCheck(regionalCompanyIds);
List<UUID> ids = new ArrayList<>();
if (!CollectionUtils.isEmpty(kObjects)) {
for (KObject kObject : kObjects) {
ids.add(kObject.get("canLookRegionalCompany").getUuid("id"));
}
}
if(null!=currentRegionalCompanyId){
ids.add(currentRegionalCompanyId);
}
return priceAdjustmentDao.getNewsByRegionalCompanyIds(ids);
}
@Override
......@@ -87,7 +126,23 @@ public class PriceAdjustmentServiceImpl implements PriceAdjustmentService {
}
@Override
public List<KObject> getSameAdjustmentDateAndLtCreateDateInfo(Date adjustmentDate, Date createTime, UUID stationId) {
return priceAdjustmentDao.getSameAdjustmentDateAndLtCreateDate(adjustmentDate, createTime, stationId);
}
@Override
public void update(KObject kobject) {
priceAdjustmentDao.modify(kobject);
priceAdjustmentDao.modify(kobject);
//审批通过后获取 同一天生效时间 && 创建时间小于该条记录 && 已审批 的记录,将其改为驳回
List<KObject> kObjects = priceAdjustmentDao.getSameAdjustmentDateAndLtCreateDate(kobject);
if (null == kObjects) {
return;
}
for (KObject kObject : kObjects) {
kObject.set("applyStatus", BizProcessState.DONE_WITH_REJECT.getValue());
kObject.set("failureReason", "本条数据所属生效日已有新记录审批通过,本条系统自动驳回");
priceAdjustmentDao.modify(kObject);
}
}
}
package com.xyst.dinas.price.internal.service;
import com.beecode.bcp.type.KObject;
import com.xyst.dinas.price.dao.RegionalCompanyPriceAuthorityDao;
import com.xyst.dinas.price.service.RegionalCompanyPriceAuthorityService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.transaction.annotation.Transactional;
import java.util.List;
import java.util.UUID;
@Transactional(rollbackFor = Exception.class)
public class RegionalCompanyPriceAuthorityServiceImpl implements RegionalCompanyPriceAuthorityService {
@Autowired
private RegionalCompanyPriceAuthorityDao regionalCompanyPriceAuthorityDao;
@Override
public List<KObject> listAllCheck(List<UUID> ids){
return regionalCompanyPriceAuthorityDao.listAllCheck(ids);
}
@Override
public KObject getById(UUID id) {
return regionalCompanyPriceAuthorityDao.load(id);
}
@Override
public void update(KObject kobject) {
regionalCompanyPriceAuthorityDao.modify(kobject);
}
@Override
public void deleteById(UUID id) {
regionalCompanyPriceAuthorityDao.deleteById(id);
}
@Override
public boolean checked(UUID currentRegionalCompanyId, UUID checkedRegionalCompanyId) {
return regionalCompanyPriceAuthorityDao.checked(currentRegionalCompanyId,checkedRegionalCompanyId);
}
@Override
public boolean unChecked(UUID currentRegionalCompanyId, UUID checkedRegionalCompanyId) {
return regionalCompanyPriceAuthorityDao.unChecked(currentRegionalCompanyId,checkedRegionalCompanyId);
}
}
......@@ -7,6 +7,7 @@ import com.xyst.dinas.price.entity.PriceAdjustmentSearchEntity;
import com.xyst.dinas.price.entity.StationDinasTypePriceDetail;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.UUID;
......@@ -17,6 +18,8 @@ public interface PriceAdjustmentService {
KObject getById(UUID id);
List<KObject> getSameAdjustmentDateAndLtCreateDateInfo(Date adjustmentDate, Date createTime, UUID stationId);
void update(KObject kobject);
Object queryByPaging(PriceAdjustmentSearchEntity<KObject> priceAdjustmentSearchEntity) throws Exception;
......@@ -37,4 +40,10 @@ public interface PriceAdjustmentService {
*/
void updatePriceAdjustmentStatus();
/**
*
* @param currentRegionalCompanyId
* @return
*/
List<KObject> getNewsByRegionalCompanyIds(UUID currentRegionalCompanyId);
}
package com.xyst.dinas.price.service;
import com.beecode.bcp.type.KObject;
import java.util.List;
import java.util.UUID;
public interface RegionalCompanyPriceAuthorityService {
List<KObject> listAllCheck(List<UUID> ids);
KObject getById(UUID id);
void update(KObject kobject);
void deleteById(UUID id);
boolean checked(UUID currentRegionalCompanyId, UUID checkedRegionalCompanyId);
boolean unChecked(UUID currentRegionalCompanyId, UUID checkedRegionalCompanyId);
}
......@@ -7,6 +7,7 @@ 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.inz.common.util.DateTimeUtils;
import com.xyst.dinas.biz.service.DinasTypeService;
import com.xyst.dinas.price.constant.PriceAdjustmentConstant;
import com.xyst.dinas.price.entity.PriceAdjustmentEchartReturnEntity;
......@@ -15,8 +16,10 @@ 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.util.CollectionUtils;
import org.springframework.web.bind.annotation.*;
import java.util.Date;
import java.util.List;
import java.util.UUID;
......@@ -149,6 +152,18 @@ public class PriceAdjustmentController {
}
/**
* 根据id获取价格调整
*
* @param
* @return 获取成功
*/
@GetMapping("/test")
public ResponseObj test() {
priceAdjustmentService.updatePriceAdjustmentStatus();
return ResponseObj.success("获取成功");
}
/**
* 验证是否有最新审批中或者审批不通过的数据
*/
@GetMapping("validateByStationId")
......@@ -191,6 +206,26 @@ public class PriceAdjustmentController {
return ResponseObj.success("获取成功", priceAdjustment);
}
/**
* 数据相同时候的提示
* @param adjustmentDate
* @param createTime
* @param stationId
* @return
*/
@GetMapping("getSameMessage")
public ResponseObj getSameAdjustmentDateAndLtCreateDateInfo(Date adjustmentDate, Date createTime, UUID stationId){
List<KObject> sameAdjustmentDateAndLtCreateDateInfo = priceAdjustmentService.getSameAdjustmentDateAndLtCreateDateInfo(adjustmentDate, createTime, stationId);
if(CollectionUtils.isEmpty(sameAdjustmentDateAndLtCreateDateInfo)){
String formart1DateString = DateTimeUtils.getFormart1DateString(adjustmentDate);
String message = "检查到该场站生效日期为["+formart1DateString+"]下有"+sameAdjustmentDateAndLtCreateDateInfo.size()+"条早先创建并审批通过的记录,当该记录提交审批通过后,会将其它记录置为驳回";
return ResponseObj.success(message, sameAdjustmentDateAndLtCreateDateInfo);
}
return ResponseObj.success();
}
}
\ No newline at end of file
package com.xyst.dinas.price.web;
import com.beecode.bcp.type.KObject;
import com.beecode.inz.basis.team.pojo.ResponseObj;
import com.xyst.dinas.price.service.PriceAdjustmentService;
import com.xyst.dinas.price.service.RegionalCompanyPriceAuthorityService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.util.List;
import java.util.UUID;
@RestController()
@RequestMapping(value={"/price/priceAuthority"})
public class RegionalCompanyPriceAuthorityController {
@Autowired
private RegionalCompanyPriceAuthorityService regionalCompanyPriceAuthorityService;
@Autowired
private PriceAdjustmentService priceAdjustmentService;
@RequestMapping(value = "list/allCheck", method = RequestMethod.GET)
public ResponseObj getDinasTypeList(
@RequestParam(required = false,name = "ids") List<UUID> ids
) throws Exception {
List<KObject> kObjectPage = regionalCompanyPriceAuthorityService.listAllCheck(ids);
return ResponseObj.success("操作成功",kObjectPage);
}
/**
* 取消勾选场站
*/
@PostMapping("/unChecked")
public ResponseObj unCheckedStation(@RequestParam("currentRegionalCompanyId") UUID currentRegionalCompanyId, @RequestParam(value = "checkedRegionalCompanyId",required = true) UUID checkedRegionalCompanyId){
boolean aBoolean = regionalCompanyPriceAuthorityService.unChecked(currentRegionalCompanyId,checkedRegionalCompanyId);
return aBoolean?ResponseObj.success("取消勾选成功"):ResponseObj.error("取消勾选失败");
}
/**
* 勾选场站
* @return
*/
@PostMapping("/checked")
public ResponseObj checkedStation(
@RequestParam("currentRegionalCompanyId") UUID currentRegionalCompanyId,
@RequestParam(value = "checkedRegionalCompanyId",required = true) UUID checkedRegionalCompanyId){
boolean aBoolean = regionalCompanyPriceAuthorityService.checked(currentRegionalCompanyId,checkedRegionalCompanyId);
return aBoolean?ResponseObj.success("勾选成功"):ResponseObj.error("勾选失败");
}
/**
* 获取最新的场站可查看的价格列表
* @return
*/
@PostMapping("/getNewsByRegionalCompanyId")
public ResponseObj getNewsByRegionalCompanyId(
@RequestParam("regionalCompanyId") UUID currentRegionalCompanyId
){
List<KObject> newsByRegionalCompanyIds = priceAdjustmentService.getNewsByRegionalCompanyIds(currentRegionalCompanyId);
return ResponseObj.success("查询成功",newsByRegionalCompanyIds);
}
}
# Auto Configure
org.springframework.boot.autoconfigure.EnableAutoConfiguration=\
com.xyst.dinas.price.config.PriceAdjustmentConfiguration
com.xyst.dinas.price.config.PriceAdjustmentConfiguration,\
com.xyst.dinas.price.config.RegionalCompanyPriceAuthorityConfiguration
......@@ -3,8 +3,8 @@
<specification>1.0</specification>
<id>b34f3ded-3664-369b-a146-97be4b24cde1</id>
<name>com.xyst.dinas.price.bill.PriceAdjustment$serial</name>
<title>计划上报$serial</title>
<description>计划上报</description>
<title>调价$serial</title>
<description>调价</description>
<define>bcp.serial</define>
<define-version>1.0</define-version>
<dependency>com.xyst.dinas.price.datamodel.PriceAdjustment</dependency>
......
<?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>97f40950-7212-4987-8a84-a5a3dd339a66</id>
<name>com.xyst.dinas.price.bill.RegionalCompanyPriceAuthority$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>fd95ab28-6a27-46b0-9ffd-af442eea11fd</id>
<name>com.xyst.dinas.price.bill.RegionalCompanyPriceAuthority$serial</name>
<title>区域公司条件记录权限表$serial</title>
<description>区域公司条件记录权限表</description>
<define>bcp.serial</define>
<define-version>1.0</define-version>
<dependency>com.xyst.dinas.price.datamodel.RegionalCompanyPriceAuthority</dependency>
<dependency>com.xyst.dinas.price.bill.RegionalCompanyPriceAuthority$sequence</dependency>
<content>
<m:serial>
<m:input>com.xyst.dinas.price.datamodel.RegionalCompanyPriceAuthority</m:input>
<m:functionLibrarys/>
<m:segments>
<m:literal>
<m:value>PA</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.price.bill.RegionalCompanyPriceAuthority$serial</m:key>
<m:sequenceName>com.xyst.dinas.price.bill.RegionalCompanyPriceAuthority$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>480ff446-5f8e-448e-92bc-e58b7a6305b3</id>
<name>com.xyst.dinas.price.bill.RegionalCompanyPriceAuthority</name>
<title>区域公司条件记录权限表</title>
<description>区域公司条件记录权限表</description>
<define>bcp.biz.Biztype</define>
<define-version>1.0</define-version>
<dependency>com.xyst.dinas.price.bill.RegionalCompanyPriceAuthority$serial</dependency>
<dependency>com.xyst.dinas.price.datamodel.RegionalCompanyPriceAuthority</dependency>
<dependency>com.beecode.bap.biztrait.BasicBillBiztrait</dependency>
<content>
<m:biztype>
<m:type>com.xyst.dinas.price.datamodel.RegionalCompanyPriceAuthority</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.price.bill.RegionalCompanyPriceAuthority$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>e3337d52-c3c7-4eec-8d06-ede01a9941a8</id>
<name>com.xyst.dinas.price.datamodel.RegionalCompanyPriceAuthority</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.beecode.bap.biztrait.datamodel.SubTableAnnotation</dependency>
<dependency>com.beecode.bap.staff.datamodel.Staff</dependency>
<dependency>com.xyst.dinas.biz.datamodel.xystOrganization</dependency>
<dependency>com.beecode.bap.biztrait.datamodel.BasicBillRequirement</dependency>
<content>
<m:class>
<m:parents>
<m:parent>com.beecode.bap.biztrait.datamodel.BasicBillRequirement</m:parent>
<m:parent>com.beecode.inz.common.datamodel.BaseInfo</m:parent>
</m:parents>
<m:attributes>
<m:attribute>
<m:annotations/>
<m:id>45c6f4a8-2cc6-49ad-8fe8-5ee817b11188</m:id>
<m:name>currentRegionalCompany</m:name>
<m:title>当前区域公司</m:title>
<m:type>com.xyst.dinas.biz.datamodel.xystOrganization</m:type>
<m:description></m:description>
<m:default></m:default>
</m:attribute>
<m:attribute>
<m:annotations/>
<m:id>acdfcaaf-08ec-417e-84bc-3a195f226d1f</m:id>
<m:name>canLookRegionalCompany</m:name>
<m:title>可以查看哪个区域公司</m:title>
<m:type>com.xyst.dinas.biz.datamodel.xystOrganization</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>2a47277f-119f-43df-a7aa-4507a8fdd667</id>
<name>com.xyst.dinas.price.query.RegionalCompanyPriceAuthority</name>
<title>区域公司条件记录权限表</title>
<description>区域公司条件记录权限表</description>
<define>inz.query.Query</define>
<define-version>1.0</define-version>
<dependency>com.xyst.dinas.biz.datamodel.DinasType</dependency>
<content>
<m:query>
<m:type>com.xyst.dinas.price.datamodel.RegionalCompanyPriceAuthority</m:type>
<m:dataProcessor/>
<m:authorityItem/>
<m:innerScenes>
<m:innerScene>
<m:id>213edf68-7231-4f5e-b855-d660a69441d5</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>6641d38d-4ddb-4b9f-8a8c-5e8e47dd8921</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: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>currentRegionalCompany.id</m:name>
<m:title>区域公司</m:title>
<m:type>uuid</m:type>
<m:ref>
<m:name>com.xyst.dinas.biz.datamodel.xystOrganization</m:name>
<m:type></m:type>
</m:ref>
<m:desc></m:desc>
</m:field>
<m:field>
<m:name>currentRegionalCompany.name</m:name>
<m:title>区域公司名称</m:title>
<m:type>string</m:type>
<m:ref>
<m:name>com.xyst.dinas.biz.datamodel.xystOrganization</m:name>
<m:type></m:type>
</m:ref>
<m:desc></m:desc>
</m:field>
<m:field>
<m:name>canLookRegionalCompany.id</m:name>
<m:title>可以查看的区域公司</m:title>
<m:type>uuid</m:type>
<m:ref>
<m:name>com.xyst.dinas.biz.datamodel.xystOrganization</m:name>
<m:type></m:type>
</m:ref>
<m:desc></m:desc>
</m:field>
<m:field>
<m:name>canLookRegionalCompany.name</m:name>
<m:title>可以查看的区域公司名称</m:title>
<m:type>string</m:type>
<m:ref>
<m:name>com.xyst.dinas.biz.datamodel.xystOrganization</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>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.price.datamodel.RegionalCompanyPriceAuthority" table="xyst_dinas_price_regional_company_price_authority" 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="currentRegionalCompany" entity-name="com.xyst.dinas.biz.datamodel.xystOrganization" fetch="select">
<column name="current_regional_company_id" not-null="false">
<comment>所属组织机构</comment>
</column>
</many-to-one>
<many-to-one name="canLookRegionalCompany" entity-name="com.xyst.dinas.biz.datamodel.xystOrganization" fetch="select">
<column name="can_look_regional_company_id" not-null="false">
<comment>所属组织机构</comment>
</column>
</many-to-one>
</class>
</hibernate-mapping>
\ No newline at end of file
......@@ -5,17 +5,11 @@ 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;
......@@ -70,7 +64,8 @@ public class ProductionPlanReportDaoImpl extends AbstractBaseDao implements Prod
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());
Long totalCount = (Long) detachedCriteria.setProjection(Projections.rowCount()).getExecutableCriteria(template.getSessionFactory().getCurrentSession()).uniqueResult();
Long totalCount = (Long) detachedCriteria.setProjection(Projections.rowCount()).getExecutableCriteria(template.getSessionFactory().getCurrentSession()).setFirstResult(0).setMaxResults(1).uniqueResult();
page.setTotal(Math.toIntExact(totalCount));
ArrayList<KObject> kObjects = removeBaseFiled(list);
page.setDatas(kObjects);
......@@ -86,10 +81,12 @@ public class ProductionPlanReportDaoImpl extends AbstractBaseDao implements Prod
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");
KObject station = clone.get("station").clone();
station.setNull(BaseConstants.CREATOR);
station.setNull(BaseConstants.MODIFIER);
station.setNull("regionalCompany");
clone.set("station",station);
dinasTypeDetailsKObj = clone.get("dinasTypeDetails").clone();
if(null!=dinasTypeDetailsKObj){
dinasTypeDetails = dinasTypeDetailsKObj.toArray();
for (KObject dinasTypeDetail : dinasTypeDetails) {
......@@ -98,6 +95,7 @@ public class ProductionPlanReportDaoImpl extends AbstractBaseDao implements Prod
dinasTypeDetail.get("dinasType").setNull("regionalCompany");
}
}
clone.set("dinasTypeDetails",dinasTypeDetailsKObj);
kObjects.add(clone);
}
return kObjects;
......@@ -163,6 +161,9 @@ 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");
detachedCriteria.createAlias("dinasType", "dinasType");
detachedCriteria.add(Restrictions.eq("dinasType.del",false));
detachedCriteria.add(Restrictions.eq("master.del",false));
if (null != stationId) {
detachedCriteria.add(Restrictions.eq("master.station.id", stationId));
}
......
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