Commit e36e8c7c by wukaiqiang

Merge branch 'develop' into feature/sales_record_sync

# Conflicts:
#	backend/settings-dev.gradle
#	backend/xyst.dinas.contract/src/main/java/com/xyst/dinas/contract/internal/service/ContractServiceImpl.java
#	backend/xyst.dinas.contract/src/main/java/com/xyst/dinas/contract/service/ContractService.java
#	backend/xyst.dinas.sales/src/main/java/com/xyst/dinas/sales/dao/NeedPlanDao.java
#	backend/xyst.dinas.sales/src/main/java/com/xyst/dinas/sales/dao/SalesPlanDao.java
#	backend/xyst.dinas.sales/src/main/java/com/xyst/dinas/sales/internal/dao/NeedPlanDaoImpl.java
parents 35c0a352 64f9054d
......@@ -13,3 +13,4 @@ target/
*.ipr
*.iws
out/
../gradle/
\ No newline at end of file
......@@ -146,6 +146,7 @@ dependencies {
compile "com.beecode:xyst.dinas.camera:${inzVersion}"
compile "com.beecode:xyst.dinas.price:${inzVersion}"
compile "com.beecode:xyst.dinas.transport:${inzVersion}"
compile "com.beecode:xyst.dinas.safe:${inzVersion}"
compile "com.beecode:xyst.dinas.sales:${inzVersion}"
compile "com.beecode:xyst.dinas.statistics:${inzVersion}"
compile "com.beecode:xyst.dinas.finance:${inzVersion}"
......
......@@ -143,6 +143,7 @@ includeBuild("../") {
substitute module('com.beecode:xyst.dinas.finance') with project(':xyst.dinas.finance')
substitute module('com.beecode:xyst.dinas.price') with project(':xyst.dinas.price')
substitute module('com.beecode:xyst.dinas.transport') with project(':xyst.dinas.transport')
substitute module('com.beecode:xyst.dinas.safe') with project(':xyst.dinas.safe')
substitute module('com.beecode:xyst.dinas.sales') with project(':xyst.dinas.sales')
substitute module('com.beecode:xyst.dinas.statistics') with project(':xyst.dinas.statistics')
}
......
......@@ -18,8 +18,9 @@ includeBuild("../") {
substitute module('com.beecode:xyst.dinas.contract') with project(':xyst.dinas.contract')
substitute module('com.beecode:xyst.dinas.camera') with project(':xyst.dinas.camera')
substitute module('com.beecode:xyst.dinas.price') with project(':xyst.dinas.price')
substitute module('com.beecode:xyst.dinas.transport') with project(':xyst.dinas.transport')
substitute module('com.beecode:xyst.dinas.sales') with project(':xyst.dinas.sales')
substitute module('com.beecode:xyst.dinas.safe') with project(':xyst.dinas.safe')
substitute module('com.beecode:xyst.dinas.transport') with project(':xyst.dinas.transport')
substitute module('com.beecode:xyst.dinas.sales') with project(':xyst.dinas.sales')
substitute module('com.beecode:xyst.dinas.finance') with project(':xyst.dinas.finance')
substitute module('com.beecode:xyst.dinas.statistics') with project(':xyst.dinas.statistics')
}
......
......@@ -56,9 +56,9 @@ public class SysAuthMgrController {
Iterator<Role> iter = roles.iterator();
while (iter.hasNext()) {
Role role = iter.next();
if(role.getName().equals("customManageRole")) {
if(role.getName().equals("customManageRole") || role.getName().equals("observerRole")) {
iter.remove();
break;
// break;
}
}
}
......
......@@ -18,4 +18,6 @@ public interface DriverUserDao extends BaseDao {
List<KObject> queryPositionByName(String phone);
List<KObject> userNameRepeatCheck(String username);
List<KObject> idCardRepeatCheck(String idCard);
}
......@@ -90,5 +90,13 @@ public class DriverUserDaoImpl extends AbstractBaseDao implements DriverUserDao
return query.getResultList();
});
}
@Override
public List<KObject> idCardRepeatCheck(String idCard) {
return template.execute(session -> {
Query<KObject> query = session.createQuery("from " + DriverUserConstants.ENTITY + " where (discard is null or discard = 0) and (enabled = 1) and idCard =:idCard ", KObject.class);
query.setParameter("idCard", idCard);
return query.getResultList();
});
}
}
......@@ -220,7 +220,17 @@ public class DriverUserServiceImpl implements DriverUserService {
}
return flag;
}
@Override
public Boolean idCardRepeatCheck(String idCard) {
List<KObject> list = dao.idCardRepeatCheck(idCard);
Boolean flag = false;
if (list != null && list.size() > 0 ) {
flag = true;
}
return flag;
}
}
......@@ -213,6 +213,12 @@ public class SandUserServiceImpl implements SandUserService {
return flag;
}
@Override
public void resetPassword(String username, String password) {
// TODO Auto-generated method stub
}
......
......@@ -67,4 +67,5 @@ public interface DriverUserService {
Boolean userNameRepeatCheck(String parameter);
Boolean idCardRepeatCheck(String idCard);
}
......@@ -61,4 +61,6 @@ public interface SandUserService {
Boolean repeatCheck(String parameter, String string);
void resetPassword(String username, String password);
}
package com.beecode.inz.basis.web;
import com.beecode.bcp.type.KObject;
import com.beecode.bcp.type.json.JSONObjectUtils;
import com.beecode.inz.basis.pojo.DriverUser;
import com.beecode.inz.basis.service.DriverUserService;
import com.beecode.inz.basis.team.pojo.ResponseObj;
......@@ -17,6 +18,7 @@ import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletRequest;
import java.util.List;
import java.util.Map;
import java.util.UUID;
/**
......@@ -170,9 +172,36 @@ public class DriverUserController {
if(userNameResult){
return ResponseObj.error("账号重复");
}
case "ID_CARD_CHECK":
Boolean idCardResult = driverUserService.idCardRepeatCheck(parameter);
if(idCardResult){
return ResponseObj.error("身份证号重复");
}
default:
return null;
}
}
/**
* 购砂用户更改密码
*
* @param obj
* @return
*/
@RequestMapping(value = "/driverUser/updatePassword", method = RequestMethod.POST)
public Object updatePassword(@RequestBody String content) {
Map<String, Object> map = JSONObjectUtils.toMap(content);
if (null == map || map.size() == 0)
return ResponseObj.error("参数为空");;
String userId = map.get("userId").toString();
String password = map.get("password").toString();
try {
driverUserService.updatePassword(UUID.fromString(userId), password);
return ResponseObj.success();
} catch (Exception e) {
return ResponseObj.error();
}
}
}
package com.beecode.inz.basis.web;
import java.util.List;
import java.util.Map;
import java.util.UUID;
import javax.servlet.http.HttpServletRequest;
......@@ -20,6 +21,7 @@ import org.springframework.web.bind.annotation.RestController;
import com.beecode.bcp.core.context.AminoContextHolder;
import com.beecode.bcp.type.KObject;
import com.beecode.bcp.type.json.JSONObjectUtils;
import com.beecode.inz.basis.context.sand.SandUserContextHolder;
import com.beecode.inz.basis.context.warehouse.WarehouseUserContextHolder;
import com.beecode.inz.basis.pojo.SandUser;
......@@ -198,4 +200,26 @@ public class SandUserController {
return null;
}
}
/**
* 购砂用户更改密码
*
* @param obj
* @return
*/
@RequestMapping(value = "/sandUser/updatePassword", method = RequestMethod.POST)
public Object updatePassword(@RequestBody String content) {
Map<String, Object> map = JSONObjectUtils.toMap(content);
if (null == map || map.size() == 0)
return ResponseObj.error("参数为空");;
String userId = map.get("userId").toString();
String password = map.get("password").toString();
try {
sandUserService.updatePassword(UUID.fromString(userId), password);
return ResponseObj.success();
} catch (Exception e) {
return ResponseObj.error();
}
}
}
package com.beecode.inz.basis.web;
import java.util.List;
import java.util.Map;
import java.util.UUID;
import javax.servlet.http.HttpServletRequest;
......@@ -20,6 +21,7 @@ import org.springframework.web.bind.annotation.RestController;
import com.beecode.bcp.core.context.AminoContextHolder;
import com.beecode.bcp.type.KObject;
import com.beecode.bcp.type.json.JSONObjectUtils;
import com.beecode.inz.basis.context.warehouse.WarehouseUserContextHolder;
import com.beecode.inz.basis.pojo.WarehouseUser;
import com.beecode.inz.basis.service.WarehouseUserService;
......@@ -203,4 +205,26 @@ public class WarehouseUserController {
}
}
/**
* 场站用户更改密码
*
* @param obj
* @return
*/
@RequestMapping(value = "/warehouse/updatePassword", method = RequestMethod.POST)
public Object updatePassword(@RequestBody String content) {
Map<String, Object> map = JSONObjectUtils.toMap(content);
if (null == map || map.size() == 0)
return ResponseObj.error("参数为空");;
String userId = map.get("userId").toString();
String password = map.get("password").toString();
try {
warehouseUserService.updatePassword(UUID.fromString(userId), password);
return ResponseObj.success();
} catch (Exception e) {
return ResponseObj.error();
}
}
}
......@@ -19,6 +19,9 @@
<property name="title" type="string" >
<column name="title" length="100"></column>
</property>
<property name="idCard" type="string" >
<column name="id_card" length="30"></column>
</property>
<property name="code" type="string" >
<column name="code" length="100" unique="true"></column>
</property>
......
......@@ -11,6 +11,6 @@ import com.beecode.inz.common.pojo.QueryComponentCoulmnData;
public interface QueryComponentDao {
JSONObject queryDetailByMasterId(UUID masterId, String detailModelName, List<QueryComponentCoulmnData> columnList,
int pageSize, int current);
int pageSize, int current, String orderCoulmnName, String orderType);
}
......@@ -22,7 +22,7 @@ public class QueryComponentDaoImpl implements QueryComponentDao{
@Override
public JSONObject queryDetailByMasterId(UUID masterId, String detailModelName, List<QueryComponentCoulmnData> columnList, int pageSize,
int current) {
int current, String orderCoulmnName, String orderType) {
return template.execute(session ->{
String hql = "SELECT ";
int i = 0;
......@@ -34,6 +34,9 @@ public class QueryComponentDaoImpl implements QueryComponentDao{
i++;
}
hql += " from " + detailModelName + " where master.id =:masterId ";
if(null != orderCoulmnName && null != orderType) {
hql += " ORDER BY " + orderCoulmnName + " "+orderType;
}
Query<Tuple> query = session.createQuery(hql, Tuple.class).setFirstResult((current - 1) * pageSize).setMaxResults(pageSize);
query.setParameter("masterId", masterId);
List<Tuple> queryList = query.getResultList();
......
......@@ -18,11 +18,11 @@ public class QueryComponentServiceImpl implements QueryComponentService {
@Autowired
private QueryComponentDao queryComponentDao;
@Override
@Override
public JSONObject queryDetailByMasterId(UUID masterId, String detailModelName, List<QueryComponentCoulmnData> columnList, int pageSize,
int current) {
int current, String orderCoulmnName, String orderType) {
// TODO Auto-generated method stub
return queryComponentDao.queryDetailByMasterId(masterId, detailModelName, columnList, pageSize, current);
return queryComponentDao.queryDetailByMasterId(masterId, detailModelName, columnList, pageSize, current, orderCoulmnName, orderType);
}
}
......@@ -4,13 +4,14 @@ import java.util.List;
import java.util.UUID;
import org.json.JSONArray;
import org.json.JSONObject;
import com.beecode.inz.common.pojo.QueryComponentCoulmnData;
public interface QueryComponentService {
Object queryDetailByMasterId(UUID masterId, String detailModelName, List<QueryComponentCoulmnData> columnList, int pageSize,
int current);
Object queryDetailByMasterId(UUID masterId, String detailModelName, List<QueryComponentCoulmnData> columnList,
int pageSize, int current, String orderCoulmnName, String orderType);
}
......@@ -257,6 +257,7 @@ public class DateTimeUtils {
cal.set(Calendar.HOUR_OF_DAY, 0);
cal.set(Calendar.SECOND, 0);
cal.set(Calendar.MINUTE, 0);
cal.set(Calendar.MILLISECOND, 0);
return cal.getTime();
}
......@@ -272,6 +273,8 @@ public class DateTimeUtils {
cal.set(Calendar.HOUR_OF_DAY, 23);
cal.set(Calendar.SECOND, 59);
cal.set(Calendar.MINUTE, 59);
cal.set(Calendar.MILLISECOND, 999);
return cal.getTime();
}
......
......@@ -16,26 +16,42 @@ import com.beecode.inz.common.service.QueryComponentService;
import net.sf.json.JSONArray;
import net.sf.json.JsonConfig;
@RestController
public class QueryComponentController {
@Autowired
private QueryComponentService queryComponentService;
@PostMapping("/queryComponent/queryDetailByMasterId/{masterId}")
public Object queryDetailByMasterId(@PathVariable UUID masterId, @RequestBody String body) {
JSONObject list = new JSONObject(body);
String orderCoulmnName = null, orderType = null;
if (list.has("orderCoulmnName") && list.has("orderType")) {
orderCoulmnName = list.getString("orderCoulmnName");
orderType = list.getString("orderType");
}
JSONArray array = JSONArray.fromObject(list.get("columnList").toString());
List<QueryComponentCoulmnData> columnList = JSONArray.toList(array, QueryComponentCoulmnData.class);
return queryComponentService.queryDetailByMasterId(masterId, list.getString("detailModelName"), columnList, list.getInt("pageSize"), list.getInt("current")).toString();
return queryComponentService
.queryDetailByMasterId(masterId, list.getString("detailModelName"), columnList, list.getInt("pageSize"),
list.getInt("current"), orderCoulmnName, orderType)
.toString();
}
@PostMapping("/sand/user/queryComponent/queryDetailByMasterId/{masterId}")
public Object queryDetailByMasterIdComcompany(@PathVariable UUID masterId, @RequestBody String body) {
JSONObject list = new JSONObject(body);
String orderCoulmnName = null, orderType = null;
if (null != list.get("orderCoulmnName") && null != list.get("orderType")) {
orderCoulmnName = list.getString("orderCoulmnName");
orderType = list.getString("orderType");
}
JSONArray array = JSONArray.fromObject(list.get("columnList").toString());
List<QueryComponentCoulmnData> columnList = JSONArray.toList(array, QueryComponentCoulmnData.class);
return queryComponentService.queryDetailByMasterId(masterId, list.getString("detailModelName"), columnList, list.getInt("pageSize"), list.getInt("current")).toString();
return queryComponentService
.queryDetailByMasterId(masterId, list.getString("detailModelName"), columnList, list.getInt("pageSize"),
list.getInt("current"), orderCoulmnName, orderType)
.toString();
}
}
......@@ -147,4 +147,5 @@ include "xyst.dinas.production"
include "xyst.dinas.project"
include "xyst.dinas.sales"
include "xyst.dinas.transport"
include "xyst.dinas.statistics"
\ No newline at end of file
include "xyst.dinas.statistics"
include "xyst.dinas.safe"
......@@ -17,6 +17,7 @@ include "xyst.dinas.contract"
include "xyst.dinas.camera"
include "xyst.dinas.price"
include "xyst.dinas.transport"
include "xyst.dinas.safe"
include "xyst.dinas.sales"
include "xyst.dinas.finance"
include "xyst.dinas.statistics"
......
......@@ -20,7 +20,7 @@ public interface DinasTypeConstant {
/**
* 关联子表的实体名
*/
String STATION_DINAS_TYPE_DETAIL_ENTITY = "com.xyst.dinas.biz.datamodel.Station$DinasTypeDetail";
String STATION_DINAS_TYPE_DETAIL_ENTITY = "com.xyst.dinas.biz.datamodel.StationAssociatedDinasTypeDetail";
/** 砂石种类名称*/
String DINASTYPE_NAME = "dinasTypeName";
......
......@@ -150,9 +150,9 @@ public class DinasTypeDaoImpl extends AbstractBaseDao implements DinasTypeDao, D
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.MODIFY_TIME, new Date());
kobject.set(BaseConstants.MODIFIER, staff.getUuid("id"));
kobject.set("del", false);
kobject.set(BaseConstants.DEL, false);
template.merge(kobject);
}
......@@ -165,7 +165,7 @@ public class DinasTypeDaoImpl extends AbstractBaseDao implements DinasTypeDao, D
kObject.set("station", stationDao.load(stationId));
kObject.set("dinasType", load(dinasTypeId));
kObject.set("id", UUID.randomUUID());
kObject.set("del", false);
kObject.set(BaseConstants.DEL, false);
Serializable save = template.save(STATION_DINAS_TYPE_DETAIL_ENTITY, kObject);
return null!=save.toString();
} else if(byExample.size()==1){
......@@ -173,7 +173,7 @@ public class DinasTypeDaoImpl extends AbstractBaseDao implements DinasTypeDao, D
if(!kObject.getBoolean("del")){
return false;
}
kObject.set("del",false);
kObject.set(BaseConstants.DEL,false);
template.update(STATION_DINAS_TYPE_DETAIL_ENTITY,kObject);
return true;
}
......@@ -185,7 +185,7 @@ public class DinasTypeDaoImpl extends AbstractBaseDao implements DinasTypeDao, D
List<KObject> byExample = getByExample(dinasTypeId, stationId);
if (byExample.size()>0) {
for (KObject kObject : byExample) {
kObject.set("del",true);
kObject.set(BaseConstants.DEL,true);
template.update(STATION_DINAS_TYPE_DETAIL_ENTITY,kObject);
}
return true;
......@@ -212,7 +212,7 @@ public class DinasTypeDaoImpl extends AbstractBaseDao implements DinasTypeDao, D
kObject.set("id", UUID.randomUUID());
kObject.set(BaseConstants.CREATOR, staff);
kObject.set(BaseConstants.CREATE_TIME, new Date());
kObject.set("del", false);
kObject.set(BaseConstants.DEL, false);
return ((UUID) template.save(kObject));
}
......@@ -220,9 +220,9 @@ public class DinasTypeDaoImpl extends AbstractBaseDao implements DinasTypeDao, D
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.MODIFY_TIME, new Date());
kobject.set(BaseConstants.MODIFIER, staff);
kobject.set("del", true);
kobject.set(BaseConstants.DEL, true);
template.update(kobject);
}
......
......@@ -73,9 +73,9 @@ public class ProductionLineDaoImpl extends AbstractBaseDao implements Production
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(BaseConstants.MODIFY_TIME,new Date());
kobject.set(BaseConstants.MODIFIER,staff);
kobject.set("del",false);
kobject.set(BaseConstants.DEL,false);
template.merge(kobject);
}
......@@ -90,7 +90,7 @@ public class ProductionLineDaoImpl extends AbstractBaseDao implements Production
kObject.set("regionalCompany", dinasTypeDao.getCurrentLoginRegionalCompany());
kObject.set(BaseConstants.CREATOR,staff);
kObject.set(BaseConstants.CREATE_TIME, new Date());
kObject.set("del",false);
kObject.set(BaseConstants.DEL,false);
return ((UUID)template.save(kObject));
}
......@@ -104,9 +104,9 @@ public class ProductionLineDaoImpl extends AbstractBaseDao implements Production
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.MODIFY_TIME,new Date());
kobject.set(BaseConstants.MODIFIER,staff);
kobject.set("del",true);
kobject.set(BaseConstants.DEL,true);
template.update(kobject);
}
......
......@@ -98,9 +98,9 @@ public class RetailInfoDaoImpl extends AbstractBaseDao implements RetailInfoDao,
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(BaseConstants.MODIFY_TIME,new Date());
kobject.set(BaseConstants.MODIFIER,staff);
kobject.set("del",false);
kobject.set(BaseConstants.DEL,false);
template.deleteAll(id.get("productionLines").toList());
KObject productions = kobject.get("productionLines");
......@@ -128,7 +128,7 @@ public class RetailInfoDaoImpl extends AbstractBaseDao implements RetailInfoDao,
kObject.set("regionalCompany", dinasTypeDao.getCurrentLoginRegionalCompany());
kObject.set(BaseConstants.CREATOR,staff);
kObject.set(BaseConstants.CREATE_TIME, new Date());
kObject.set("del",false);
kObject.set(BaseConstants.DEL,false);
UUID save = (UUID) template.save(kObject);
KObject productions = kObject.get("productionLines");
if(null!=productions){
......@@ -154,9 +154,9 @@ public class RetailInfoDaoImpl extends AbstractBaseDao implements RetailInfoDao,
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.MODIFY_TIME,new Date());
kobject.set(BaseConstants.MODIFIER,staff);
kobject.set("del",true);
kobject.set(BaseConstants.DEL,true);
template.update(kobject);
}
......
......@@ -81,8 +81,8 @@ public class SandMiningAreaDaoImpl extends AbstractBaseDao implements SandMining
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("del",false);
kobject.set(BaseConstants.MODIFY_TIME,new Date());
kobject.set(BaseConstants.DEL,false);
kobject.set(BaseConstants.MODIFIER,staff);
template.merge(kobject);
//生成采区预警设置信息
......@@ -139,7 +139,7 @@ public class SandMiningAreaDaoImpl extends AbstractBaseDao implements SandMining
kObject.set("regionalCompany", dinasTypeDao.getCurrentLoginRegionalCompany());
kObject.set(BaseConstants.CREATOR,staff);
kObject.set(BaseConstants.CREATE_TIME, new Date());
kObject.set("del",false);
kObject.set(BaseConstants.DEL,false);
UUID save = (UUID) template.save(kObject);
return save;
}
......@@ -154,9 +154,9 @@ public class SandMiningAreaDaoImpl extends AbstractBaseDao implements SandMining
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.MODIFY_TIME,new Date());
kobject.set(BaseConstants.MODIFIER,staff);
kobject.set("del",true);
kobject.set(BaseConstants.DEL,true);
template.update(kobject);
}
......
......@@ -104,10 +104,10 @@ public class ShipInfoDaoImpl extends AbstractBaseDao implements ShipInfoDao, Shi
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.MODIFY_TIME, new Date());
kobject.set(BaseConstants.MODIFIER, staff);
kobject.set("regionalCompany", dinasTypeDao.getCurrentLoginRegionalCompany());
kobject.set("del", false);
kobject.set(BaseConstants.DEL, false);
template.merge(kobject);
}
......@@ -132,7 +132,7 @@ public class ShipInfoDaoImpl extends AbstractBaseDao implements ShipInfoDao, Shi
}
kObject.set(BaseConstants.CREATOR, staff);
kObject.set(BaseConstants.CREATE_TIME, new Date());
kObject.set("del", false);
kObject.set(BaseConstants.DEL, false);
kObject.set("regionalCompany", dinasTypeDao.getCurrentLoginRegionalCompany());
kObject.validate();
return ((UUID) template.save(kObject));
......@@ -142,9 +142,9 @@ public class ShipInfoDaoImpl extends AbstractBaseDao implements ShipInfoDao, Shi
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.MODIFY_TIME, new Date());
kobject.set(BaseConstants.MODIFIER, staff);
kobject.set("del", true);
kobject.set(BaseConstants.DEL, true);
template.update(kobject);
}
......
......@@ -98,9 +98,9 @@ public class StationDaoImpl extends AbstractBaseDao implements StationDao, Stat
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(BaseConstants.MODIFY_TIME,new Date());
kobject.set(BaseConstants.MODIFIER,staff);
kobject.set("del",false);
kobject.set(BaseConstants.DEL,false);
template.deleteAll(id.get("productionLines").toList());
KObject productions = kobject.get("productionLines");
......@@ -128,7 +128,7 @@ public class StationDaoImpl extends AbstractBaseDao implements StationDao, Stat
kObject.set("regionalCompany", dinasTypeDao.getCurrentLoginRegionalCompany());
kObject.set(BaseConstants.CREATOR,staff);
kObject.set(BaseConstants.CREATE_TIME, new Date());
kObject.set("del",false);
kObject.set(BaseConstants.DEL,false);
UUID save = (UUID) template.save(kObject);
KObject productions = kObject.get("productionLines");
if(null!=productions){
......@@ -154,9 +154,9 @@ public class StationDaoImpl extends AbstractBaseDao implements StationDao, Stat
public void deleteById(UUID id) {
KObject staff = AminoContextHolder.getContext().getStaff();
KObject kobject = (KObject) template.load(STATION, id);
kobject.set("modifyTime",new Date());
kobject.set(BaseConstants.MODIFY_TIME,new Date());
kobject.set(BaseConstants.MODIFIER,staff);
kobject.set("del",true);
kobject.set(BaseConstants.DEL,true);
template.update(kobject);
}
......
......@@ -89,7 +89,7 @@ public class PositionServiceImpl implements PositionService, PositionConstant {
// }
// }
}
kObject.set("modifyTime", new Date());
kObject.set(BaseConstants.MODIFY_TIME, new Date());
kObject.set(BaseConstants.MODIFIER, staff);
kObject.set("name", jsonObject.getString("name"));
kObject.set("description", jsonObject.isNull("description") ? "" : jsonObject.getString("description"));
......
......@@ -80,7 +80,7 @@ public class SandMiningAreaServiceImpl implements SandMiningAreaService {
warnSetting.setBillId(kobject.getUuid("id"));
warnSetting.setTarget(SandMiningAreaConstant.SAND_MINING_AREA_WARN_TARGET);
warnSetting.setTargetType(WarnTargetTypeEnum.NUMBER_TYPE.name());
warnSetting.setOpen(false);
warnSetting.setOpen(true);
warnSetting.setMemo(getAreaWarningInfo(kobject));
warnSetting.setWarnCalculator(SandMiningAreaConstant.warnCalculator);
warningSettingService.insertWarnSetting(warnSetting);
......
......@@ -186,7 +186,7 @@ public class WarningServiceImpl implements WarningService{
@Override
public void deleteWarnSetting(UUID warnSettingId) {
KObject kObject = warnSettingDao.queryWarnSettingById(warnSettingId);
kObject.set("del",true);
kObject.set(BaseConstants.DEL,true);
kObject.set("discard",true);
warnSettingDao.update(kObject);
//结束预警执行记录
......
......@@ -13,15 +13,50 @@
<dependency>com.beecode.inz.common.datamodel.BaseInfo</dependency>
<dependency>com.xyst.dinas.biz.datamodel.xystOrganization</dependency>
<dependency>com.beecode.bap.biztrait.datamodel.BasicBillRequirement</dependency>
<dependency>javax.persistence.Column</dependency>
<dependency>javax.persistence.Table</dependency>
<dependency>javax.persistence.Entity</dependency>
<dependency>bcp.type.constraint.StringLength</dependency>
<dependency>javax.persistence.JoinColumn</dependency>
<dependency>javax.persistence.ManyToOne</dependency>
<content>
<m:class>
<m:annotations>
<m:annotation>
<m:type>javax.persistence.Entity</m:type>
</m:annotation>
<m:annotation>
<m:type>javax.persistence.Table</m:type>
<m:properties>
<m:property>
<m:key>name</m:key>
<m:value>xyst_dinas_contract_master</m:value>
</m:property>
</m:properties>
</m:annotation>
</m:annotations>
<m:parents>
<m:parent>com.beecode.inz.common.datamodel.BaseInfo</m:parent>
<m:parent>com.beecode.bap.biztrait.datamodel.BasicBillRequirement</m:parent>
</m:parents>
<m:attributes>
<m:attribute>
<m:annotations/>
<m:annotations>
<m:annotation>
<m:type>bcp.type.constraint.StringLength</m:type>
<m:value>50</m:value>
</m:annotation>
<m:annotation>
<m:type>javax.persistence.Column</m:type>
<m:properties>
<m:property>
<m:key>name</m:key>
<m:value>dinas_type_name</m:value>
</m:property>
</m:properties>
</m:annotation>
</m:annotations>
<m:id>38095d83-03e6-4fd3-82ed-11da0f330367</m:id>
<m:name>dinasTypeName</m:name>
<m:title>砂石种类名称</m:title>
......@@ -30,7 +65,21 @@
<m:default></m:default>
</m:attribute>
<m:attribute>
<m:annotations/>
<m:annotations>
<m:annotation>
<m:type>bcp.type.constraint.StringLength</m:type>
<m:value>50</m:value>
</m:annotation>
<m:annotation>
<m:type>javax.persistence.Column</m:type>
<m:properties>
<m:property>
<m:key>name</m:key>
<m:value>dinas_is_sell</m:value>
</m:property>
</m:properties>
</m:annotation>
</m:annotations>
<m:id>38095d83-03e6-4fd3-82ed-11da0f330367</m:id>
<m:name>dinasIsSell</m:name>
<m:title>是否售卖</m:title>
......@@ -39,7 +88,24 @@
<m:default></m:default>
</m:attribute>
<m:attribute>
<m:annotations/>
<m:annotations>
<m:annotation>
<m:type>javax.persistence.ManyToOne</m:type>
</m:annotation>
<m:annotation>
<m:type>javax.persistence.JoinColumn</m:type>
<m:properties>
<m:property>
<m:key>name</m:key>
<m:value>regional_company</m:value>
</m:property>
<m:property>
<m:key>referencedColumnName</m:key>
<m:value>ID</m:value>
</m:property>
</m:properties>
</m:annotation>
</m:annotations>
<m:id>cdaced8b-be3f-440e-a0f3-ce9ae701124a</m:id>
<m:name>regionalCompany</m:name>
<m:title>所属组织机构</m:title>
......@@ -63,6 +129,19 @@
</m:attribute>
<m:attribute>
<m:annotations>
<m:annotation>
<m:type>bcp.type.constraint.StringLength</m:type>
<m:value>50</m:value>
</m:annotation>
<m:annotation>
<m:type>javax.persistence.Column</m:type>
<m:properties>
<m:property>
<m:key>name</m:key>
<m:value>type</m:value>
</m:property>
</m:properties>
</m:annotation>
</m:annotations>
<m:id>c3a59b7d-ee72-4e8e-a961-441ab4a07055</m:id>
<m:name>type</m:name>
......@@ -72,7 +151,21 @@
<m:default></m:default>
</m:attribute>
<m:attribute>
<m:annotations></m:annotations>
<m:annotations>
<m:annotation>
<m:type>bcp.type.constraint.StringLength</m:type>
<m:value>50</m:value>
</m:annotation>
<m:annotation>
<m:type>javax.persistence.Column</m:type>
<m:properties>
<m:property>
<m:key>name</m:key>
<m:value>sort_order</m:value>
</m:property>
</m:properties>
</m:annotation>
</m:annotations>
<m:id>bd60d3ff-9308-4f15-aa1e-67d2923192f2</m:id>
<m:name>sortOrder</m:name>
<m:title>排序</m:title>
......
......@@ -94,7 +94,7 @@
<m:id>97b70076-09ca-4fb5-b2d0-cd13a4218f19</m:id>
<m:name>dinasTypeDetails</m:name>
<m:title>售卖的砂石</m:title>
<m:type>com.xyst.dinas.biz.datamodel.RetailInfo$DinasTypeDetail[]</m:type>
<m:type>com.xyst.dinas.biz.datamodel.RetailInfoAssociatedDinasTypeDetail[]</m:type>
<m:description/>
<m:default/>
</m:attribute>
......
......@@ -2,7 +2,7 @@
<metadata xmlns="http://www.beecode.cn/schema/amino-metadata" xmlns:m="http://www.beecode.cn/schema/bcp-type">
<specification>1.0</specification>
<id>f146f611-b102-4865-81c8-c4375b6771dc</id>
<name>com.xyst.dinas.biz.datamodel.RetailInfo$DinasTypeDetail</name>
<name>com.xyst.dinas.biz.datamodel.RetailInfoAssociatedDinasTypeDetail</name>
<title>散户购买的砂石种类</title>
<define>bcp.type.Class</define>
<define-version>1.0</define-version>
......
......@@ -2,7 +2,7 @@
<metadata xmlns="http://www.beecode.cn/schema/amino-metadata" xmlns:m="http://www.beecode.cn/schema/bcp-type">
<specification>1.0</specification>
<id>2e4c91d3-9cdf-4af7-90b6-689473b6d142</id>
<name>com.xyst.dinas.biz.datamodel.Station$DinasTypeDetail</name>
<name>com.xyst.dinas.biz.datamodel.StationAssociatedDinasTypeDetail</name>
<title>砂石和场站的关联表</title>
<define>bcp.type.Class</define>
<define-version>1.0</define-version>
......
......@@ -173,42 +173,42 @@
<m:attribute>
<m:annotations>
<m:annotation>
<m:type>bcp.type.constraint.StringLength</m:type>
<m:value>100</m:value>
</m:annotation>
<m:annotation>
<m:type>javax.persistence.Column</m:type>
<m:properties>
<m:property>
<m:key>name</m:key>
<m:value>warn_calculator</m:value>
<m:value>is_open</m:value>
</m:property>
</m:properties>
</m:annotation>
</m:annotations>
<m:id>cbb5b983-299b-4259-97d9-6470651bb18b</m:id>
<m:name>warnCalculator</m:name>
<m:title>预警计算器</m:title>
<m:type>string</m:type>
<m:name>isOpen</m:name>
<m:title>是否开启</m:title>
<m:type>boolean</m:type>
<m:description></m:description>
<m:default></m:default>
</m:attribute>
<m:attribute>
<m:annotations>
<m:annotation>
<m:type>bcp.type.constraint.StringLength</m:type>
<m:value>100</m:value>
</m:annotation>
<m:annotation>
<m:type>javax.persistence.Column</m:type>
<m:properties>
<m:property>
<m:key>name</m:key>
<m:value>is_open</m:value>
<m:value>warn_calculator</m:value>
</m:property>
</m:properties>
</m:annotation>
</m:annotations>
<m:id>cbb5b983-299b-4259-97d9-6470651bb18b</m:id>
<m:name>isOpen</m:name>
<m:title>是否开启</m:title>
<m:type>boolean</m:type>
<m:name>warnCalculator</m:name>
<m:title>预警计算器</m:title>
<m:type>string</m:type>
<m:description></m:description>
<m:default></m:default>
</m:attribute>
......
......@@ -74,7 +74,7 @@
</property>
</class>
<class entity-name="com.xyst.dinas.biz.datamodel.Station$DinasTypeDetail" table="xyst_dinas_biz_station_dinas_type_detail" >
<class entity-name="com.xyst.dinas.biz.datamodel.StationAssociatedDinasTypeDetail" table="xyst_dinas_biz_station_dinas_type_detail" >
<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" />
......
......@@ -79,11 +79,11 @@
<bag name="dinasTypeDetails" cascade="none" inverse="true" lazy="extra">
<key column="master_id" not-null="true" />
<one-to-many entity-name="com.xyst.dinas.biz.datamodel.RetailInfo$DinasTypeDetail"/>
<one-to-many entity-name="com.xyst.dinas.biz.datamodel.RetailInfoAssociatedDinasTypeDetail"/>
</bag>
</class>
<class entity-name="com.xyst.dinas.biz.datamodel.RetailInfo$DinasTypeDetail" table="xyst_dinas_biz_retail_dinas_type_detail" >
<class entity-name="com.xyst.dinas.biz.datamodel.RetailInfoAssociatedDinasTypeDetail" table="xyst_dinas_biz_retail_dinas_type_detail" >
<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" />
......
......@@ -103,9 +103,9 @@ public class CameraInfoDaoImpl extends AbstractBaseDao implements CameraInfoDao,
kobject.set("cameraAccount",cameraAccount);
kobject.set("regionalStation",regionalStation);
KObject staff = AminoContextHolder.getContext().getStaff();
kobject.set("modifyTime", new Date());
kobject.set(BaseConstants.MODIFY_TIME, new Date());
kobject.set(BaseConstants.MODIFIER, staff);
kobject.set("del", false);
kobject.set(BaseConstants.DEL, false);
template.merge(kobject);
}
......@@ -121,7 +121,7 @@ public class CameraInfoDaoImpl extends AbstractBaseDao implements CameraInfoDao,
object.set("regionalStation",regionalStation);
object.set(BaseConstants.CREATOR, staff);
object.set(BaseConstants.CREATE_TIME, new Date());
object.set("del", false);
object.set(BaseConstants.DEL, false);
object.set("regionalCompany", regionalCompany);
object.validate();
return ((UUID) template.save(object));
......@@ -131,9 +131,9 @@ public class CameraInfoDaoImpl extends AbstractBaseDao implements CameraInfoDao,
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.MODIFY_TIME, new Date());
kobject.set(BaseConstants.MODIFIER, staff);
kobject.set("del", true);
kobject.set(BaseConstants.DEL, true);
template.update(kobject);
}
......
......@@ -271,6 +271,20 @@ public class ContractDao {
}
return dinasAmount;
}
public void updateContractState(UUID contractId, String contractState) {
template.execute(new HibernateCallback<Integer>() {
@SuppressWarnings("unchecked")
@Override
public Integer doInHibernate(Session session) throws HibernateException {
Query queryupdate=session.createQuery( "update " + ContractConstant.ENTITY_CONTRACT + " set contractState = :contractState where id =:contractId");
queryupdate.setParameter("contractState", contractState);
queryupdate.setParameter("contractId", contractId);
return queryupdate.executeUpdate();
}
});
}
/**
* 获取合同上的某种砂石余量
......
......@@ -124,7 +124,7 @@ public class ContractServiceImpl implements ContractService {
KObject kobject = contractDao.load(id);
KObject regionalCompany = kobject.get("regionalCompany");
Map <String,Object> params = new HashMap();
params.put("regionalCompanyCode", regionalCompany.getString("code"));
// params.put("regionalCompanyCode", regionalCompany.getString("code"));//code并不是必填的,这个值为空的话,工作流提交会报错
params.put("regionalCompanyName", regionalCompany.getString("name"));
if (needSubmitFlow(ContractConstant.BIZ_TYPE,kobject,"SUBMIT")) {
inzWorkflowService.startWorkflow("SUBMIT", ContractConstant.BIZ_TYPE, kobject.getString(ContractConstant.CONTRACT_NAME),kobject, params);
......@@ -140,7 +140,7 @@ public class ContractServiceImpl implements ContractService {
KObject kobject = contractDao.load(id);
KObject regionalCompany = kobject.get("regionalCompany");
Map <String,Object> params = new HashMap();
params.put("regionalCompanyCode", regionalCompany.getString("code"));
// params.put("regionalCompanyCode", regionalCompany.getString("code"));
params.put("regionalCompanyName", regionalCompany.getString("name"));
if (needSubmitFlow(ContractConstant.BIZ_TYPE,kobject,"CHANGE")) {
inzWorkflowService.startWorkflow("SUBMIT", ContractConstant.BIZ_TYPE_UPDATE, kobject.getString(ContractConstant.CONTRACT_NAME),kobject, params);
......@@ -386,10 +386,25 @@ public class ContractServiceImpl implements ContractService {
}
@Override
@Transactional
public Boolean modifyInventory(UUID id,UUID dinasTypeId,BigDecimal DEALAMOUNT,BigDecimal AMOUNT ) {
// TODO Auto-generated method stub
KObject obj = contractDao.load(id);
return contractDao.updateContractDinasAmount(obj,dinasTypeId,DEALAMOUNT,AMOUNT);
}
@Override
@Transactional
public Object updateContractState(JSONObject jsonObject) {
try {
UUID contractId = UUID.fromString(jsonObject.getString("contractId"));
String contractState = jsonObject.getString("contractState");
contractDao.updateContractState(contractId, contractState);
return ResponseObj.success();
} catch (Exception e) {
e.printStackTrace();
return ResponseObj.error();
}
}
}
......@@ -7,6 +7,7 @@ import java.util.Map;
import java.util.UUID;
import org.json.JSONArray;
import org.json.JSONObject;
import org.springframework.lang.Nullable;
import com.beecode.bcp.type.KObject;
......@@ -108,4 +109,7 @@ public interface ContractService {
public Boolean modifyInventory(UUID id,UUID dinasTypeId,BigDecimal DEALAMOUNT,BigDecimal AMOUNT );
Object updateContractState(JSONObject jsonObject);
}
......@@ -219,4 +219,15 @@ public class ContractController {
return contractService.queryExeContractListInLife(regionalCompanyId, startDate, endDate);
}
/**
* 合同更改状态
* @param contractId
* @return
*/
@PostMapping("/contract/updateContractState")
public Object updateContractState(@RequestBody String contractState) {
JSONObject jsonObject = new JSONObject(contractState);
return contractService.updateContractState(jsonObject);
}
}
\ No newline at end of file
<model>
<header>
<type>bcp.authz.Privilege</type>
<package>com.xyst.dinas.contract.auth</package>
<name>ContractAdd</name>
<title>新建</title>
<tags></tags>
<description></description>
</header>
<content>
<privilege type='TOKEN' target-type='' id='af449c11-de31-4e42-8ef6-be62f359aa01' category='合同/合同登记(区域公司)' seq='3'></privilege>
</content>
</model>
\ No newline at end of file
<model>
<header>
<type>bcp.authz.Privilege</type>
<package>com.xyst.dinas.contract.auth</package>
<name>ContractApproveList</name>
<title>列表</title>
<tags></tags>
<description></description>
</header>
<content>
<privilege type='TOKEN' target-type='' id='527c15dd-7fe3-4162-bb27-c40f8ec50478' category='合同/合同审核(区域公司)' seq='1'></privilege>
</content>
</model>
\ No newline at end of file
<model>
<header>
<type>bcp.authz.Privilege</type>
<package>com.xyst.dinas.contract.auth</package>
<name>ContractCardLook</name>
<title>卡片查看</title>
<tags></tags>
<description></description>
</header>
<content>
<privilege type='TOKEN' target-type='' id='501467ff-5202-4b02-9fa7-f3316c60b0b5' category='合同/合同登记(区域公司)' seq='2'></privilege>
</content>
</model>
\ No newline at end of file
<model>
<header>
<type>bcp.authz.Privilege</type>
<package>com.xyst.dinas.contract.auth</package>
<name>ContractChange</name>
<title>变更</title>
<tags></tags>
<description></description>
</header>
<content>
<privilege type='TOKEN' target-type='' id='47207868-c0b4-455a-b8fc-e18b0c19cd16' category='合同/合同登记(区域公司)' seq='6'></privilege>
</content>
</model>
\ No newline at end of file
<model>
<header>
<type>bcp.authz.Privilege</type>
<package>com.xyst.dinas.contract.auth</package>
<name>ContractComplete</name>
<title>完成</title>
<tags></tags>
<description></description>
</header>
<content>
<privilege type='TOKEN' target-type='' id='01bbc7a0-e37a-4316-830e-b043e5e231ca' category='合同/合同登记(区域公司)' seq='7'></privilege>
</content>
</model>
\ No newline at end of file
<model>
<header>
<type>bcp.authz.Privilege</type>
<package>com.xyst.dinas.contract.auth</package>
<name>ContractEdit</name>
<title>编辑</title>
<tags></tags>
<description></description>
</header>
<content>
<privilege type='TOKEN' target-type='' id='1ef4ce72-d73d-442d-9428-5fe3be0bb8c1' category='合同/合同登记(区域公司)' seq='4'></privilege>
</content>
</model>
\ No newline at end of file
<model>
<header>
<type>bcp.authz.Privilege</type>
<package>com.xyst.dinas.contract.auth</package>
<name>ContractExecuteAnalyseList</name>
<title>列表</title>
<tags></tags>
<description></description>
</header>
<content>
<privilege type='TOKEN' target-type='' id='c2ae8f54-b0fb-4397-b050-5d327867f1b8' category='合同/合同执行分析' seq='1'></privilege>
</content>
</model>
\ No newline at end of file
<model>
<header>
<type>bcp.authz.Privilege</type>
<package>com.xyst.dinas.contract.auth</package>
<name>ContractExport</name>
<title>导出</title>
<tags></tags>
<description></description>
</header>
<content>
<privilege type='TOKEN' target-type='' id='ef6a6291-c631-4c4b-90ce-32ebea1d984d' category='合同/合同登记(区域公司)' seq='5'></privilege>
</content>
</model>
\ No newline at end of file
<model>
<header>
<type>bcp.authz.Privilege</type>
<package>com.xyst.dinas.contract.auth</package>
<name>ContractList</name>
<title>列表</title>
<tags></tags>
<description></description>
</header>
<content>
<privilege type='TOKEN' target-type='' id='e9e9390f-87d0-41ef-a3a5-a20af58fb1ff' category='合同/合同登记(区域公司)' seq='1'></privilege>
</content>
</model>
\ No newline at end of file
<model>
<header>
<type>bcp.authz.Privilege</type>
<package>com.xyst.dinas.contract.auth</package>
<name>ContractRemove</name>
<title>删除</title>
<tags></tags>
<description></description>
</header>
<content>
<privilege type='TOKEN' target-type='' id='ef0dd8eb-f063-4390-aab6-dbb8f70f89e0' category='合同/合同登记(区域公司)' seq='8'></privilege>
</content>
</model>
\ No newline at end of file
<model>
<header>
<type>bcp.authz.Privilege</type>
<package>com.xyst.dinas.contract.auth</package>
<name>ContractSubmit</name>
<title>提交</title>
<tags></tags>
<description></description>
</header>
<content>
<privilege type='TOKEN' target-type='' id='f6ca0ba5-985a-4fb6-90e5-fcb616dfdffe' category='合同/合同登记(区域公司)' seq='9'></privilege>
</content>
</model>
\ No newline at end of file
<model>
<header>
<type>bcp.authz.Privilege</type>
<package>com.xyst.dinas.contract.auth</package>
<name>ContractWarningExeList</name>
<title>列表</title>
<tags></tags>
<description></description>
</header>
<content>
<privilege type='TOKEN' target-type='' id='f6911413-296e-43c5-92d4-2a27e8d8901f' category='合同/合同执行预警' seq='1'></privilege>
</content>
</model>
\ No newline at end of file
<model>
<header>
<type>bcp.authz.Privilege</type>
<package>com.xyst.dinas.contract.auth</package>
<name>ContractWarningSettingList</name>
<title>列表</title>
<tags></tags>
<description></description>
</header>
<content>
<privilege type='TOKEN' target-type='' id='e58e42d9-a2c9-4126-ab8b-93de7d4c47e9' category='合同/合同预警设置(区域公司)' seq='1'></privilege>
</content>
</model>
\ No newline at end of file
<model>
<header>
<type>bcp.authz.Privilege</type>
<package>com.xyst.dinas.contract.auth</package>
<name>ContractWarningSettingMemberSet</name>
<title>人员设置</title>
<tags></tags>
<description></description>
</header>
<content>
<privilege type='TOKEN' target-type='' id='e15a4b0f-43c1-436e-9a47-05ed4b216701' category='合同/合同预警设置(区域公司)' seq='2'></privilege>
</content>
</model>
\ No newline at end of file
<model>
<header>
<type>bcp.authz.Privilege</type>
<package>com.xyst.dinas.contract.auth</package>
<name>ContractWarningSettingWarningSet</name>
<title>预警设置</title>
<tags></tags>
<description></description>
</header>
<content>
<privilege type='TOKEN' target-type='' id='165f487e-75b5-493b-8cc6-0c233f85ec85' category='合同/合同预警设置(区域公司)' seq='3'></privilege>
</content>
</model>
\ No newline at end of file
......@@ -9,7 +9,7 @@
</header>
<content>
<customQuery id='58b626c6-c457-4bb3-81e4-d09f11ecd553'>
<kclass>com.xyst.dinas.contract.datamodel.Contract$contractDetail</kclass>
<kclass>com.xyst.dinas.contract.datamodel.ContractAssociatedcontractDetail</kclass>
<innerScene title='全部'>
<id>cfd478b1-7e2e-41c5-bb5e-f6500c101341</id>
<javaImplement>com.beecode.inz.common.scene.CommonSubAllScene</javaImplement>
......
<?xml version="1.0" encoding="UTF-8"?>
<metadata xmlns="http://www.beecode.cn/schema/amino-metadata" xmlns:m="http://www.beecode.cn/schema/bcp-privilege">
<specification>1.0</specification>
<id>af449c11-de31-4e42-8ef6-be62f359aa01</id>
<name>com.xyst.dinas.contract.auth.ContractAdd</name>
<title>新建</title>
<define>bcp.authz.privilege</define>
<define-version>1.0.0</define-version>
<content>
<m:privilege>
<m:type>TOKEN</m:type>
<m:category>合同/合同登记(区域公司)</m:category>
<m:seq>3</m:seq>
</m:privilege>
</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-privilege">
<specification>1.0</specification>
<id>527c15dd-7fe3-4162-bb27-c40f8ec50478</id>
<name>com.xyst.dinas.contract.auth.ContractApproveList</name>
<title>列表</title>
<define>bcp.authz.privilege</define>
<define-version>1.0.0</define-version>
<content>
<m:privilege>
<m:type>TOKEN</m:type>
<m:category>合同/合同审核(区域公司)</m:category>
<m:seq>1</m:seq>
</m:privilege>
</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-privilege">
<specification>1.0</specification>
<id>501467ff-5202-4b02-9fa7-f3316c60b0b5</id>
<name>com.xyst.dinas.contract.auth.ContractCardLook</name>
<title>卡片查看</title>
<define>bcp.authz.privilege</define>
<define-version>1.0.0</define-version>
<content>
<m:privilege>
<m:type>TOKEN</m:type>
<m:category>合同/合同登记(区域公司)</m:category>
<m:seq>2</m:seq>
</m:privilege>
</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-privilege">
<specification>1.0</specification>
<id>47207868-c0b4-455a-b8fc-e18b0c19cd16</id>
<name>com.xyst.dinas.contract.auth.ContractChange</name>
<title>变更</title>
<define>bcp.authz.privilege</define>
<define-version>1.0.0</define-version>
<content>
<m:privilege>
<m:type>TOKEN</m:type>
<m:category>合同/合同登记(区域公司)</m:category>
<m:seq>6</m:seq>
</m:privilege>
</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-privilege">
<specification>1.0</specification>
<id>01bbc7a0-e37a-4316-830e-b043e5e231ca</id>
<name>com.xyst.dinas.contract.auth.ContractComplete</name>
<title>完成</title>
<define>bcp.authz.privilege</define>
<define-version>1.0.0</define-version>
<content>
<m:privilege>
<m:type>TOKEN</m:type>
<m:category>合同/合同登记(区域公司)</m:category>
<m:seq>7</m:seq>
</m:privilege>
</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-privilege">
<specification>1.0</specification>
<id>1ef4ce72-d73d-442d-9428-5fe3be0bb8c1</id>
<name>com.xyst.dinas.contract.auth.ContractEdit</name>
<title>编辑</title>
<define>bcp.authz.privilege</define>
<define-version>1.0.0</define-version>
<content>
<m:privilege>
<m:type>TOKEN</m:type>
<m:category>合同/合同登记(区域公司)</m:category>
<m:seq>4</m:seq>
</m:privilege>
</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-privilege">
<specification>1.0</specification>
<id>c2ae8f54-b0fb-4397-b050-5d327867f1b8</id>
<name>com.xyst.dinas.contract.auth.ContractExecuteAnalyseList</name>
<title>列表</title>
<define>bcp.authz.privilege</define>
<define-version>1.0.0</define-version>
<content>
<m:privilege>
<m:type>TOKEN</m:type>
<m:category>合同/合同执行分析</m:category>
<m:seq>1</m:seq>
</m:privilege>
</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-privilege">
<specification>1.0</specification>
<id>ef6a6291-c631-4c4b-90ce-32ebea1d984d</id>
<name>com.xyst.dinas.contract.auth.ContractExport</name>
<title>导出</title>
<define>bcp.authz.privilege</define>
<define-version>1.0.0</define-version>
<content>
<m:privilege>
<m:type>TOKEN</m:type>
<m:category>合同/合同登记(区域公司)</m:category>
<m:seq>5</m:seq>
</m:privilege>
</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-privilege">
<specification>1.0</specification>
<id>e9e9390f-87d0-41ef-a3a5-a20af58fb1ff</id>
<name>com.xyst.dinas.contract.auth.ContractList</name>
<title>列表</title>
<define>bcp.authz.privilege</define>
<define-version>1.0.0</define-version>
<content>
<m:privilege>
<m:type>TOKEN</m:type>
<m:category>合同/合同登记(区域公司)</m:category>
<m:seq>1</m:seq>
</m:privilege>
</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-privilege">
<specification>1.0</specification>
<id>ef0dd8eb-f063-4390-aab6-dbb8f70f89e0</id>
<name>com.xyst.dinas.contract.auth.ContractRemove</name>
<title>删除</title>
<define>bcp.authz.privilege</define>
<define-version>1.0.0</define-version>
<content>
<m:privilege>
<m:type>TOKEN</m:type>
<m:category>合同/合同登记(区域公司)</m:category>
<m:seq>8</m:seq>
</m:privilege>
</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-privilege">
<specification>1.0</specification>
<id>f6ca0ba5-985a-4fb6-90e5-fcb616dfdffe</id>
<name>com.xyst.dinas.contract.auth.ContractSubmit</name>
<title>提交</title>
<define>bcp.authz.privilege</define>
<define-version>1.0.0</define-version>
<content>
<m:privilege>
<m:type>TOKEN</m:type>
<m:category>合同/合同登记(区域公司)</m:category>
<m:seq>9</m:seq>
</m:privilege>
</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-privilege">
<specification>1.0</specification>
<id>f6911413-296e-43c5-92d4-2a27e8d8901f</id>
<name>com.xyst.dinas.contract.auth.ContractWarningExeList</name>
<title>列表</title>
<define>bcp.authz.privilege</define>
<define-version>1.0.0</define-version>
<content>
<m:privilege>
<m:type>TOKEN</m:type>
<m:category>合同/合同执行预警</m:category>
<m:seq>1</m:seq>
</m:privilege>
</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-privilege">
<specification>1.0</specification>
<id>e58e42d9-a2c9-4126-ab8b-93de7d4c47e9</id>
<name>com.xyst.dinas.contract.auth.ContractWarningSettingList</name>
<title>列表</title>
<define>bcp.authz.privilege</define>
<define-version>1.0.0</define-version>
<content>
<m:privilege>
<m:type>TOKEN</m:type>
<m:category>合同/合同预警设置(区域公司)</m:category>
<m:seq>1</m:seq>
</m:privilege>
</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-privilege">
<specification>1.0</specification>
<id>e15a4b0f-43c1-436e-9a47-05ed4b216701</id>
<name>com.xyst.dinas.contract.auth.ContractWarningSettingMemberSet</name>
<title>人员设置</title>
<define>bcp.authz.privilege</define>
<define-version>1.0.0</define-version>
<content>
<m:privilege>
<m:type>TOKEN</m:type>
<m:category>合同/合同预警设置(区域公司)</m:category>
<m:seq>2</m:seq>
</m:privilege>
</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-privilege">
<specification>1.0</specification>
<id>165f487e-75b5-493b-8cc6-0c233f85ec85</id>
<name>com.xyst.dinas.contract.auth.ContractWarningSettingWarningSet</name>
<title>预警设置</title>
<define>bcp.authz.privilege</define>
<define-version>1.0.0</define-version>
<content>
<m:privilege>
<m:type>TOKEN</m:type>
<m:category>合同/合同预警设置(区域公司)</m:category>
<m:seq>3</m:seq>
</m:privilege>
</content>
</metadata>
......@@ -15,13 +15,13 @@
<dependency>bcp.type.constraint.Numeric</dependency>
<dependency>javax.persistence.JoinColumn</dependency>
<dependency>javax.persistence.OneToMany</dependency>
<dependency>com.xyst.dinas.contract.datamodel.ContractAssociatedcontractDetail</dependency>
<dependency>com.xyst.dinas.biz.datamodel.xystOrganization</dependency>
<dependency>com.xyst.dinas.project.datamodel.PurchaseSandCompany</dependency>
<dependency>javax.persistence.Column</dependency>
<dependency>javax.persistence.Table</dependency>
<dependency>com.xyst.dinas.biz.datamodel.Station</dependency>
<dependency>com.beecode.bap.biztrait.datamodel.BasicBillRequirement</dependency>
<dependency>com.xyst.dinas.contract.datamodel.Contract$contractDetail</dependency>
<dependency>com.xyst.dinas.project.datamodel.ProjectFiled</dependency>
<content>
<m:class>
......@@ -896,7 +896,7 @@
<m:id>06a76145-09c6-4e83-b91e-66aec616b9ca</m:id>
<m:name>contractDetails</m:name>
<m:title>合同子表</m:title>
<m:type>com.xyst.dinas.contract.datamodel.Contract$contractDetail[]</m:type>
<m:type>com.xyst.dinas.contract.datamodel.ContractAssociatedcontractDetail[]</m:type>
<m:description></m:description>
<m:default></m:default>
</m:attribute>
......
......@@ -2,7 +2,7 @@
<metadata xmlns="http://www.beecode.cn/schema/amino-metadata" xmlns:m="http://www.beecode.cn/schema/bcp-type">
<specification>1.0</specification>
<id>57fa34cf-59f3-4be6-98bb-3e87853471ee</id>
<name>com.xyst.dinas.contract.datamodel.Contract$contractDetail</name>
<name>com.xyst.dinas.contract.datamodel.ContractAssociatedcontractDetail</name>
<title>合同子表</title>
<define>bcp.type.Class</define>
<define-version>1.0</define-version>
......
......@@ -6,10 +6,10 @@
<title>合同详情子表</title>
<define>inz.query.Query</define>
<define-version>1.0</define-version>
<dependency>com.xyst.dinas.contract.datamodel.Contract$contractDetail</dependency>
<dependency>com.xyst.dinas.contract.datamodel.ContractAssociatedcontractDetail</dependency>
<content>
<m:query>
<m:type>com.xyst.dinas.contract.datamodel.Contract$contractDetail</m:type>
<m:type>com.xyst.dinas.contract.datamodel.ContractAssociatedcontractDetail</m:type>
<m:dataProcessor></m:dataProcessor>
<m:authorityItem></m:authorityItem>
<m:innerScenes>
......
......@@ -143,10 +143,10 @@
</property>
<bag name="contractDetails" lazy="true" fetch="select" inverse="true">
<key column="master_id" not-null="true" />
<one-to-many entity-name="com.xyst.dinas.contract.datamodel.Contract$contractDetail" />
<one-to-many entity-name="com.xyst.dinas.contract.datamodel.ContractAssociatedcontractDetail" />
</bag>
</class>
<class entity-name="com.xyst.dinas.contract.datamodel.Contract$contractDetail" table="xyst_dinas_contract_detail">
<class entity-name="com.xyst.dinas.contract.datamodel.ContractAssociatedcontractDetail" table="xyst_dinas_contract_detail">
<tuplizer entity-mode="dynamic-map" class="com.beecode.bcp.store.hibernate.KObjectEntityTuplizer"/>
<id name="id" type="uuid-binary" column="id" length="16">
<generator class="uuid2" />
......
......@@ -8,15 +8,18 @@ import com.xyst.dinas.finance.dao.StatementAccountDao;
import com.xyst.dinas.finance.internal.dao.BankRechargeDetailDaoImpl;
import com.xyst.dinas.finance.internal.dao.ExpenseAdjustDaoImpl;
import com.xyst.dinas.finance.internal.dao.StatementAccountDaoImpl;
import com.xyst.dinas.finance.internal.service.ArtificialRechargeServiceImpl;
import com.xyst.dinas.finance.internal.service.BankRechargeDetailServiceImpl;
import com.xyst.dinas.finance.internal.service.ExpenseAdjustServiceImpl;
import com.xyst.dinas.finance.internal.service.FinanceRefundServiceImpl;
import com.xyst.dinas.finance.internal.service.StatementAccountServiceImpl;
import com.xyst.dinas.finance.processor.FinanceRefundProcessor;
import com.xyst.dinas.finance.service.ArtificialRechargeService;
import com.xyst.dinas.finance.service.BankRechargeDetailService;
import com.xyst.dinas.finance.service.ExpenseAdjustService;
import com.xyst.dinas.finance.service.FinanceRefundService;
import com.xyst.dinas.finance.service.StatementAccountService;
import com.xyst.dinas.finance.web.ArtificialRechargeController;
import com.xyst.dinas.finance.web.BankRechargeDetailController;
import com.xyst.dinas.finance.web.ExpenseAdjustController;
import com.xyst.dinas.finance.web.RefundController;
......@@ -90,5 +93,14 @@ public class FinanceConfiguration {
return new StatementAccountDaoImpl();
}
@Bean
public ArtificialRechargeController artificialRechargeController() {
return new ArtificialRechargeController();
}
@Bean
public ArtificialRechargeService artificialRechargeService() {
return new ArtificialRechargeServiceImpl();
}
}
......@@ -11,4 +11,6 @@ public interface StatementAccountDao {
List<KObject> queryStatementAccountByContractId(JSONObject jsonObject, String modelPath);
List<KObject> queryAdvanceByContractId(UUID contractId, String fundType, String entity);
}
......@@ -17,6 +17,7 @@ import org.springframework.orm.hibernate5.HibernateOperations;
import com.beecode.bcp.type.KObject;
import com.xyst.dinas.finance.dao.StatementAccountDao;
import com.xyst.dinas.finance.enumeration.FundTypeEnum;
public class StatementAccountDaoImpl implements StatementAccountDao{
......@@ -67,4 +68,29 @@ public class StatementAccountDaoImpl implements StatementAccountDao{
}
});
}
@Override
public List<KObject> queryAdvanceByContractId(UUID contractId, String fundType, String entity) {
return (List<KObject>)template.execute(new HibernateCallback<List<KObject>>() {
StringBuilder hql = new StringBuilder("from " + entity + " where contract.id=:contractId and fundType=:fundType");
@SuppressWarnings("unchecked")
@Override
public List<KObject> doInHibernate(Session session) throws HibernateException {
Query<KObject> query = session.createQuery(hql.toString(), KObject.class);
query.setParameter("contractId", contractId);
if (entity.equals("com.xyst.dinas.finance.datamodel.FinanceRefund")) {
if (fundType.equals(FundTypeEnum.ADVANCE.name())) {
query.setParameter("fundType", 0);
} if (fundType.equals(FundTypeEnum.DEPOSIT.name())) {
query.setParameter("fundType", 1);
}
} else {
query.setParameter("fundType", fundType);
}
List<KObject> resultList = query.getResultList();
return resultList;
}
});
}
}
package com.xyst.dinas.finance.internal.service;
import java.math.BigDecimal;
import java.util.UUID;
import org.json.JSONObject;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.transaction.annotation.Transactional;
import com.beecode.bcp.type.KObject;
import com.beecode.inz.basis.team.pojo.ResponseObj;
import com.jiuqi.np.syntax.parser.ANTLRParser.ifthen_eval_return;
import com.xyst.dinas.contract.internal.dao.ContractDao;
import com.xyst.dinas.finance.enumeration.FundTypeEnum;
import com.xyst.dinas.finance.service.ArtificialRechargeService;
public class ArtificialRechargeServiceImpl implements ArtificialRechargeService {
@Autowired
private ContractDao contractDao;
@Override
@Transactional
public Object adjustContractBalance(JSONObject jsonObject) {
try{
UUID contractId = UUID.fromString(jsonObject.getString("contractId"));
KObject contract = contractDao.load(contractId);
if (FundTypeEnum.ADVANCE.name().equals(jsonObject.getString("fundType"))) {
contract.set("advanceBalance", contract.getBigDecimal("advanceBalance") == null ? new BigDecimal("0").add(jsonObject.getBigDecimal("rechargeAmount")) : contract.getBigDecimal("advanceBalance").add(jsonObject.getBigDecimal("rechargeAmount")));
} else if(FundTypeEnum.DEPOSIT.name().equals(jsonObject.getString("fundType"))){
contract.set("depositBalance", contract.getBigDecimal("depositBalance") == null ? new BigDecimal("0").add(jsonObject.getBigDecimal("rechargeAmount")) : contract.getBigDecimal("depositBalance").add(jsonObject.getBigDecimal("rechargeAmount")));
}
contractDao.update(contract);
return ResponseObj.success();
} catch(Exception e){
return ResponseObj.error();
}
}
}
......@@ -79,19 +79,28 @@ public class BankRechargeDetailServiceImpl implements BankRechargeDetailService
artificialRecharge.set("regionalCompany", jsonObject.isNull("regionalCompany") ? null : dinasOrganizationDao.load(UUID.fromString(jsonObject.getJSONObject("regionalCompany").getString("id"))));
artificialRecharge.set("purchaseSandUnit", jsonObject.isNull("purchaseSandUnit") ? null : purchaseSandCompanyDao.load(UUID.fromString(jsonObject.getJSONObject("purchaseSandUnit").getString("id"))));
artificialRecharge.set("contract", jsonObject.isNull("contract") ? null : contractDao.load(UUID.fromString(jsonObject.getJSONObject("contract").getString("id"))));
//获取关联合同
UUID contractId = UUID.fromString(jsonObject.getJSONObject("contract").getString("id"));
KObject contract = contractDao.load(contractId);
if (!jsonObject.isNull("advanceAmount")) {
//生成预付款调整
//生成预付款入账
artificialRecharge.set("id", UUID.randomUUID());
artificialRecharge.set("fundType", "ADVANCE");
artificialRecharge.set("rechargeAmount", jsonObject.getBigDecimal("advanceAmount"));
contract.set("advanceBalance", contract.getBigDecimal("advanceBalance") == null ? new BigDecimal("0").add(jsonObject.getBigDecimal("advanceAmount")) : contract.getBigDecimal("advanceBalance").add(jsonObject.getBigDecimal("advanceAmount")));
contractDao.update(contract);
artificialRecharge.set("contract", contract);
bankRechargeDetailDao.save(artificialRecharge);
}
if (!jsonObject.isNull("depositAmount")) {
//生成保证金调整
//生成保证金入账
KObject artificialRechargeTwo = artificialRechargeClass.newInstance(artificialRecharge);
artificialRechargeTwo.set("id", UUID.randomUUID());
artificialRechargeTwo.set("fundType", "DEPOSIT");
artificialRechargeTwo.set("rechargeAmount", jsonObject.getBigDecimal("depositAmount"));
contract.set("depositBalance", contract.getBigDecimal("depositBalance") == null ? new BigDecimal("0").add(jsonObject.getBigDecimal("depositAmount")) : contract.getBigDecimal("depositBalance").add(jsonObject.getBigDecimal("depositAmount")));
contractDao.update(contract);
artificialRecharge.set("contract", contract);
bankRechargeDetailDao.save(artificialRechargeTwo);
}
return ResponseObj.success();
......
package com.xyst.dinas.finance.service;
import org.json.JSONObject;
public interface ArtificialRechargeService {
Object adjustContractBalance(JSONObject jsonObject);
}
package com.xyst.dinas.finance.service;
import java.util.List;
import java.util.Map;
import java.util.UUID;
import javax.servlet.http.HttpServletResponse;
import org.json.JSONObject;
import com.xyst.dinas.finance.entity.StatementAccount;
public interface StatementAccountService {
Object queryStatementAccountByContractId(JSONObject jsonObject);
Map<String, Object> queryStatementAccountByContractId(JSONObject jsonObject);
void exportStatementAccountDetails(HttpServletResponse response, JSONObject param);
List<StatementAccount> queryAccountByContractId(JSONObject jsonObject);
}
package com.xyst.dinas.finance.web;
import org.json.JSONArray;
import org.json.JSONObject;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.bind.annotation.RestController;
import com.xyst.dinas.finance.service.ArtificialRechargeService;
import com.xyst.dinas.finance.service.BankRechargeDetailService;
import com.xyst.dinas.finance.service.ExpenseAdjustService;
/**
* 人工充值
*
* @author yangqingsong
* @date 2021年4月29日
*/
@RestController
public class ArtificialRechargeController {
@Autowired
private ArtificialRechargeService artificialRechargeService;
@ResponseBody
@RequestMapping(value = "/finance/artificialRecharge/adjustContractBalance", method = RequestMethod.POST, consumes = "application/json")
public Object adjustContractBalance(@RequestBody String body) {
JSONObject jsonObject = new JSONObject(body);
return artificialRechargeService.adjustContractBalance(jsonObject);
}
}
package com.xyst.dinas.finance.web;
import java.io.IOException;
import java.util.List;
import java.util.Map;
import java.util.UUID;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.json.JSONObject;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
......@@ -12,10 +18,12 @@ import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.bind.annotation.RestController;
import com.beecode.inz.basis.team.pojo.ResponseObj;
import com.xyst.dinas.finance.entity.StatementAccount;
import com.xyst.dinas.finance.service.StatementAccountService;
/**
* 费用调整
* 对账单
*
* @author yangqingsong
* @date 2021年4月25日
......@@ -30,7 +38,88 @@ public class StatementAccountController {
@ResponseBody
@RequestMapping(value = "/sand/user/finance/statementAccount/queryStatementAccountByContractId", method = RequestMethod.POST)
public Object queryStatementAccountByContractId(@RequestBody String body) {
return statementAccountService.queryStatementAccountByContractId(new JSONObject(body));
try{
Map<String, Object> statementAccountByContract = statementAccountService.queryStatementAccountByContractId(new JSONObject(body));
return ResponseObj.success("查询成功", statementAccountByContract);
} catch(Exception e) {
return ResponseObj.error();
}
}
@ResponseBody
@RequestMapping(value = "/sand/user/finance/exportStatementAccountDetails", method = RequestMethod.POST)
public Object exportStatementAccountDetails(HttpServletRequest request, HttpServletResponse response) throws IOException {
request.setCharacterEncoding("utf-8");
String exportParamStr = request.getParameter("exportParamStr");
response.reset();
response.setCharacterEncoding("UTF-8");
response.setContentType("application/x-www-form-urlencoded");
JSONObject obj = new JSONObject();
try {
obj.put("code", 200);
JSONObject param = new JSONObject(exportParamStr);
statementAccountService.exportStatementAccountDetails(response, param);
} catch(Exception e) {
e.printStackTrace();
return ResponseObj.error();
}
return obj.toString();
}
/**
* 根据合同和类型查询账单
* @param
* @return
*/
@ResponseBody
@RequestMapping(value = "/finance/statementAccount/queryAccountByContractId", method = RequestMethod.POST)
public Object queryAdvanceByContractId(@RequestBody String body) {
try{
List<StatementAccount> advanceAmount = statementAccountService.queryAccountByContractId(new JSONObject(body));
return ResponseObj.success("查询成功", advanceAmount);
} catch(Exception e) {
e.printStackTrace();
return ResponseObj.error();
}
}
/**
* 根据合同和类型查询账单(购砂单位)
* @param
* @return
*/
@ResponseBody
@RequestMapping(value = "/sand/user/finance/statementAccount/queryAccountByContractId", method = RequestMethod.POST)
public Object queryAdvanceByContractIdSandUser(@RequestBody String body) {
try{
List<StatementAccount> advanceAmount = statementAccountService.queryAccountByContractId(new JSONObject(body));
return ResponseObj.success("查询成功", advanceAmount);
} catch(Exception e) {
e.printStackTrace();
return ResponseObj.error();
}
}
/**
* 根据合同和类型查询账单(场站)
* @param
* @return
*/
@ResponseBody
@RequestMapping(value = "/warehouseuser/finance/statementAccount/queryAccountByContractId", method = RequestMethod.POST)
public Object queryAdvanceByContractIdWarehouseuser(@RequestBody String body) {
try{
List<StatementAccount> advanceAmount = statementAccountService.queryAccountByContractId(new JSONObject(body));
return ResponseObj.success("查询成功", advanceAmount);
} catch(Exception e) {
e.printStackTrace();
return ResponseObj.error();
}
}
}
<model>
<header>
<type>bcp.authz.Privilege</type>
<package>com.xyst.dinas.finance.auth</package>
<name>ArtificialRechargeCard</name>
<title>卡片查看</title>
<tags></tags>
<description></description>
</header>
<content>
<privilege type='TOKEN' target-type='' id='0ba03c35-0f62-40ac-bc96-94e80dffe2d3' category='资金/人工账户充值(区域公司)' seq='2'></privilege>
</content>
</model>
\ No newline at end of file
<model>
<header>
<type>bcp.authz.Privilege</type>
<package>com.xyst.dinas.finance.auth</package>
<name>ArtificialRechargeCreate</name>
<title>新建</title>
<tags></tags>
<description></description>
</header>
<content>
<privilege type='TOKEN' target-type='' id='a742f2aa-db1a-4075-9890-79b50b8cccd2' category='资金/人工账户充值(区域公司)' seq='1'></privilege>
</content>
</model>
\ No newline at end of file
<model>
<header>
<type>bcp.authz.Privilege</type>
<package>com.xyst.dinas.finance.auth</package>
<name>ArtificialRechargeList</name>
<title>列表</title>
<tags></tags>
<description></description>
</header>
<content>
<privilege type='TOKEN' target-type='' id='45f107ed-dc73-40a2-af55-86f2d3a06928' category='资金/人工账户充值' seq='0'></privilege>
</content>
</model>
\ No newline at end of file
<model>
<header>
<type>bcp.authz.Privilege</type>
<package>com.xyst.dinas.finance.auth</package>
<name>BankRechargeDetailCreate</name>
<title>新建</title>
<tags></tags>
<description></description>
</header>
<content>
<privilege type='TOKEN' target-type='' id='f2d1a332-5aec-491e-acbc-b2f3e1c8909c' category='资金/银行充值明细(区域公司)' seq='1'></privilege>
</content>
</model>
\ No newline at end of file
<model>
<header>
<type>bcp.authz.Privilege</type>
<package>com.xyst.dinas.finance.auth</package>
<name>BankRechargeDetailList</name>
<title>列表</title>
<tags></tags>
<description></description>
</header>
<content>
<privilege type='TOKEN' target-type='' id='ae29a89f-29ec-442f-b60c-0c3ed0332609' category='资金/银行充值明细' seq='0'></privilege>
</content>
</model>
\ No newline at end of file
<model>
<header>
<type>bcp.authz.Privilege</type>
<package>com.xyst.dinas.finance.auth</package>
<name>ExpenseAdjustCard</name>
<title>卡片查看</title>
<tags></tags>
<description></description>
</header>
<content>
<privilege type='TOKEN' target-type='' id='c7901c69-fe3b-4f4f-9f8f-edee831af56f' category='资金/费用调整(区域公司)' seq='2'></privilege>
</content>
</model>
\ No newline at end of file
<model>
<header>
<type>bcp.authz.Privilege</type>
<package>com.xyst.dinas.finance.auth</package>
<name>ExpenseAdjustCreate</name>
<title>新建</title>
<tags></tags>
<description></description>
</header>
<content>
<privilege type='TOKEN' target-type='' id='71f136e6-86c2-4633-8c64-3243f706b3f0' category='资金/费用调整(区域公司)' seq='1'></privilege>
</content>
</model>
\ No newline at end of file
<model>
<header>
<type>bcp.authz.Privilege</type>
<package>com.xyst.dinas.finance.auth</package>
<name>ExpenseAdjustList</name>
<title>列表</title>
<tags></tags>
<description></description>
</header>
<content>
<privilege type='TOKEN' target-type='' id='fdecb055-3121-458a-a4f1-6e63971957fe' category='资金/费用调整' seq='0'></privilege>
</content>
</model>
\ No newline at end of file
<model>
<header>
<type>bcp.authz.Privilege</type>
<package>com.xyst.dinas.finance.auth</package>
<name>FinanceRefundAccept</name>
<title>受理</title>
<tags></tags>
<description></description>
</header>
<content>
<privilege type='TOKEN' target-type='' id='6c88e9a2-2e07-40cd-8c78-a0fac1f3426a' category='资金/退费管理(区域公司)' seq='2'></privilege>
</content>
</model>
\ No newline at end of file
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