Commit 5a6500f7 by wukaiqiang

wukq-20210507-地磅接口及统计查询

parent 452379a5
...@@ -12,5 +12,5 @@ public interface NeedPlanDao { ...@@ -12,5 +12,5 @@ public interface NeedPlanDao {
List<KObject> queryNeedPlanByContractId(UUID contractId); List<KObject> queryNeedPlanByContractId(UUID contractId);
List<UUID> queryNeedPlanContratByCycleId(UUID planningCycleId); List<UUID> queryNeedPlanContratByCycleId(UUID planningCycleId);
void update(KObject kobj);
} }
package com.xyst.dinas.sales.dao; package com.xyst.dinas.sales.dao;
import java.util.List;
import java.util.UUID; import java.util.UUID;
import com.beecode.bcp.type.KObject; import com.beecode.bcp.type.KObject;
...@@ -9,5 +10,5 @@ public interface SalesRecordDao { ...@@ -9,5 +10,5 @@ public interface SalesRecordDao {
KObject load(UUID id); KObject load(UUID id);
UUID insert(KObject entity); UUID insert(KObject entity);
List<Object[]> getAllSalesRecordByDate(String dateNow,String dateBefore);
} }
...@@ -74,5 +74,11 @@ public class NeedPlanDaoImpl implements NeedPlanDao, NeedPlanConstant { ...@@ -74,5 +74,11 @@ public class NeedPlanDaoImpl implements NeedPlanDao, NeedPlanConstant {
}); });
} }
@Override
public void update(KObject kobject) {
// TODO Auto-generated method stub
template.update(kobject.getType().getName(), kobject);
}
} }
package com.xyst.dinas.sales.internal.dao; package com.xyst.dinas.sales.internal.dao;
import java.util.List;
import java.util.UUID; import java.util.UUID;
import org.hibernate.HibernateException;
import org.hibernate.Session;
import org.hibernate.query.Query;
import org.json.JSONArray;
import org.json.JSONObject;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.orm.hibernate5.HibernateCallback;
import org.springframework.orm.hibernate5.HibernateOperations; import org.springframework.orm.hibernate5.HibernateOperations;
import com.beecode.bcp.type.KObject; import com.beecode.bcp.type.KObject;
import com.xyst.dinas.sales.constant.SalesRecordConstant; import com.xyst.dinas.sales.constant.SalesRecordConstant;
import com.xyst.dinas.sales.dao.SalesRecordDao; import com.xyst.dinas.sales.dao.SalesRecordDao;
public class SalesRecordDaoImpl implements SalesRecordDao,SalesRecordConstant { public class SalesRecordDaoImpl implements SalesRecordDao, SalesRecordConstant {
@Autowired @Autowired
private HibernateOperations template; private HibernateOperations template;
@Override @Override
public KObject load(UUID id) { public KObject load(UUID id) {
// TODO Auto-generated method stub // TODO Auto-generated method stub
return (KObject) template.load(ENTITY, id); return (KObject) template.load(ENTITY, id);
} }
@Override @Override
public UUID insert(KObject entity) { public UUID insert(KObject entity) {
return (UUID) template.save(entity); return (UUID) template.save(entity);
} }
@Override
public List<Object[]> getAllSalesRecordByDate(String dateNow ,String dateBefore) {
// TODO Auto-generated method stub
String sql = "select ss.project_id,ss.purchase_sand_company_id,ss.station_id,ss.dinas_type_id,sum(ss.deal_amount),sum(ss.amount) from xyst_dinas_sales_record ss where (ss.deal_time >= :startDate and ss.deal_time < :endDate ) GROUP BY ss.project_id,ss.purchase_sand_company_id,ss.station_id,ss.dinas_type_id";
List<Object[]> list = template.execute(new HibernateCallback<List<Object[]>>() {
@Override
public List<Object[]> doInHibernate(Session session) throws HibernateException {
@SuppressWarnings("unchecked")
Query<Object[]> query = session.createNativeQuery(sql);
query.setParameter("endDate", dateNow);
query.setParameter("startDate", dateBefore);
List<Object[]> resultList = query.getResultList();
if (resultList.isEmpty())
return null;
return resultList;
}
});
/*
* JSONArray resultArray = new JSONArray(); for (Object[] tp : list) {
* JSONObject data = new JSONObject(); data.put("project_id", tp[0]);
* data.put("purchase_sand_company_id", tp[1]); data.put("station_id", tp[2]);
* data.put("dinas_type_id", tp[3]); data.put("deal_amount", tp[4]);
* data.put("amount", tp[5]); resultArray.put(data); } return
* resultArray.toString();
*/
// return null;
return list;
}
} }
...@@ -31,13 +31,13 @@ import com.xyst.dinas.project.dao.PurchaseSandCompanyDao; ...@@ -31,13 +31,13 @@ import com.xyst.dinas.project.dao.PurchaseSandCompanyDao;
import com.xyst.dinas.sales.constant.CustomerTypeEnum; import com.xyst.dinas.sales.constant.CustomerTypeEnum;
import com.xyst.dinas.sales.constant.PayMentSourceEnum; import com.xyst.dinas.sales.constant.PayMentSourceEnum;
import com.xyst.dinas.sales.constant.SalesRecordConstant; import com.xyst.dinas.sales.constant.SalesRecordConstant;
import com.xyst.dinas.sales.dao.NeedPlanDao;
import com.xyst.dinas.sales.dao.SalesPlanDao; import com.xyst.dinas.sales.dao.SalesPlanDao;
import com.xyst.dinas.sales.dao.SalesRecordDao; import com.xyst.dinas.sales.dao.SalesRecordDao;
import com.xyst.dinas.sales.service.InventoryService; import com.xyst.dinas.sales.service.InventoryService;
import com.xyst.dinas.sales.service.SalesRecordService; import com.xyst.dinas.sales.service.SalesRecordService;
import com.xyst.dinas.sales.web.info.SalesRecordInfo; import com.xyst.dinas.sales.web.info.SalesRecordInfo;
import com.xyst.dinas.sales.web.info.SyncException; import com.xyst.dinas.sales.web.info.SyncException;
@Transactional @Transactional
public class SalesRecordServiceImpl implements SalesRecordService { public class SalesRecordServiceImpl implements SalesRecordService {
final Logger logger = LoggerFactory.getLogger(this.getClass()); final Logger logger = LoggerFactory.getLogger(this.getClass());
...@@ -66,6 +66,8 @@ public class SalesRecordServiceImpl implements SalesRecordService { ...@@ -66,6 +66,8 @@ public class SalesRecordServiceImpl implements SalesRecordService {
@Autowired @Autowired
SalesPlanDao salesPlanDao; SalesPlanDao salesPlanDao;
@Autowired @Autowired
NeedPlanDao needPlanDao;
@Autowired
PlanningCycleService planningCycleService; PlanningCycleService planningCycleService;
@Autowired @Autowired
NeedPlanServiceImpl needPlanServiceImpl; NeedPlanServiceImpl needPlanServiceImpl;
...@@ -76,7 +78,6 @@ public class SalesRecordServiceImpl implements SalesRecordService { ...@@ -76,7 +78,6 @@ public class SalesRecordServiceImpl implements SalesRecordService {
@Transactional @Transactional
@Override @Override
public String saveSalesRecordService(List<SalesRecordInfo> salesRecordInfoList) { public String saveSalesRecordService(List<SalesRecordInfo> salesRecordInfoList) {
String state = "success"; String state = "success";
try { try {
Date thentime = new Date(); Date thentime = new Date();
...@@ -182,14 +183,19 @@ public class SalesRecordServiceImpl implements SalesRecordService { ...@@ -182,14 +183,19 @@ public class SalesRecordServiceImpl implements SalesRecordService {
boolean flag1=salesPlanDao.updateSalesPlanAmount(salesPlan, dinasType.getUuid("id"), contract.getUuid("id"), boolean flag1=salesPlanDao.updateSalesPlanAmount(salesPlan, dinasType.getUuid("id"), contract.getUuid("id"),
project.getUuid("id"), purchaseSandCompany.getUuid("id"), DEALAMOUNT); project.getUuid("id"), purchaseSandCompany.getUuid("id"), DEALAMOUNT);
if (!flag1) { if (!flag1) {
throw new SyncException("销售台账信息存储报出错:销售计划子表更新数据报错"); //throw new SyncException("销售台账信息存储报出错:销售计划子表更新数据报错");
} }
KObject needPlanAmount = entityExistenceCheck("需用计划", KObject needPlanAmount = entityExistenceCheck("需用计划",
needPlanServiceImpl.queryNeedPlanAmountByDinasType(planningCycleId, contract.getUuid("id"), needPlanServiceImpl.queryNeedPlanAmountByDinasType(planningCycleId, contract.getUuid("id"),
dinasType.getUuid("id")),false); dinasType.getUuid("id")),false);
if(needPlanAmount != null) {
BigDecimal effectiveSale = needPlanAmount.get("effectiveSale") == null ? BigDecimal.ZERO BigDecimal effectiveSale = needPlanAmount.get("effectiveSale") == null ? BigDecimal.ZERO
: new BigDecimal(needPlanAmount.getInt("needPlanAmount")); : new BigDecimal(needPlanAmount.getInt("needPlanAmount"));
needPlanAmount.set("effectiveSale", effectiveSale.subtract(DEALAMOUNT)); needPlanAmount.set("effectiveSale", effectiveSale.subtract(DEALAMOUNT));
needPlanDao.update(needPlanAmount);
}
} }
// 此处为Jason格式,多重嵌套 // 此处为Jason格式,多重嵌套
// 更新库存量 // 更新库存量
...@@ -239,7 +245,7 @@ public class SalesRecordServiceImpl implements SalesRecordService { ...@@ -239,7 +245,7 @@ public class SalesRecordServiceImpl implements SalesRecordService {
if(flag) { if(flag) {
throw new SyncException("[" + name + "]信息为空!请确认"); throw new SyncException("[" + name + "]信息为空!请确认");
}else { }else {
logger.info("[" + name + "]信息为空!请确认"); logger.info("[" + name + "]信息为空!请确认!!");
result = null; result = null;
} }
} }
......
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