Commit 5cc26a22 authored by 季圣华's avatar 季圣华
Browse files

更新后端,采用Springboot+mybatis

parent bb6f5528
package com.jsh.erp.datasource.vo;
public class DepotHeadVo4StatementAccount {
private String number;
private String type;
private Double discountLastMoney;
private Double changeAmount;
private Double allPrice;
private String supplierName;
private String oTime;
public String getNumber() {
return number;
}
public void setNumber(String number) {
this.number = number;
}
public String getType() {
return type;
}
public void setType(String type) {
this.type = type;
}
public Double getDiscountLastMoney() {
return discountLastMoney;
}
public void setDiscountLastMoney(Double discountLastMoney) {
this.discountLastMoney = discountLastMoney;
}
public Double getChangeAmount() {
return changeAmount;
}
public void setChangeAmount(Double changeAmount) {
this.changeAmount = changeAmount;
}
public Double getAllPrice() {
return allPrice;
}
public void setAllPrice(Double allPrice) {
this.allPrice = allPrice;
}
public String getSupplierName() {
return supplierName;
}
public void setSupplierName(String supplierName) {
this.supplierName = supplierName;
}
public String getoTime() {
return oTime;
}
public void setoTime(String oTime) {
this.oTime = oTime;
}
}
\ No newline at end of file
package com.jsh.erp.service;
import com.jsh.erp.utils.StringUtil;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
/**
* @author jishenghua 752718920 2018-10-7 15:25:58
*/
@Service
public class CommonQueryManager {
@Resource
private InterfaceContainer container;
/**
* 查询单条
*
* @param apiName 接口名称
* @param id ID
*/
public Object selectOne(String apiName, String id) {
if (StringUtil.isNotEmpty(apiName) && StringUtil.isNotEmpty(id)) {
return container.getCommonQuery(apiName).selectOne(id);
}
return null;
}
/**
* 查询
* @param apiName
* @param parameterMap
* @return
*/
public List<?> select(String apiName, Map<String, String> parameterMap) {
if (StringUtil.isNotEmpty(apiName)) {
return container.getCommonQuery(apiName).select(parameterMap);
}
return new ArrayList<Object>();
}
/**
* 计数
* @param apiName
* @param parameterMap
* @return
*/
public int counts(String apiName, Map<String, String> parameterMap) {
if (StringUtil.isNotEmpty(apiName)) {
return container.getCommonQuery(apiName).counts(parameterMap);
}
return 0;
}
/**
* 插入
* @param apiName
* @param beanJson
* @return
*/
public int insert(String apiName, String beanJson, HttpServletRequest request) {
if (StringUtil.isNotEmpty(apiName)) {
return container.getCommonQuery(apiName).insert(beanJson, request);
}
return 0;
}
/**
* 更新
* @param apiName
* @param beanJson
* @param id
* @return
*/
public int update(String apiName, String beanJson, Long id) {
if (StringUtil.isNotEmpty(apiName)) {
return container.getCommonQuery(apiName).update(beanJson, id);
}
return 0;
}
/**
* 删除
* @param apiName
* @param id
* @return
*/
public int delete(String apiName, Long id) {
if (StringUtil.isNotEmpty(apiName)) {
return container.getCommonQuery(apiName).delete(id);
}
return 0;
}
/**
* 批量删除
* @param apiName
* @param ids
* @return
*/
public int batchDelete(String apiName, String ids) {
if (StringUtil.isNotEmpty(apiName)) {
return container.getCommonQuery(apiName).batchDelete(ids);
}
return 0;
}
/**
* 判断是否存在
* @param apiName
* @param id
* @param name
* @return
*/
public int checkIsNameExist(String apiName, Long id, String name) {
if (StringUtil.isNotEmpty(apiName)) {
return container.getCommonQuery(apiName).checkIsNameExist(id, name);
}
return 0;
}
}
\ No newline at end of file
package com.jsh.erp.service;
import javax.servlet.http.HttpServletRequest;
import java.util.List;
import java.util.Map;
/**
* 通用查询接口
* 功能:1、单条查询 2、分页+搜索 3、查询数量
*
* @author jishenghua
* @version 1.0
*/
public interface ICommonQuery {
/**
* 查询:解析JSON,查询资源。
*
* @param condition 资源id
* @return 资源
*/
Object selectOne(String condition);
/**
* 自定义查询
*
* @param parameterMap 查询参数
* @return 查询结果
*/
List<?> select(Map<String, String> parameterMap);
/**
* 查询数量
*
* @param parameterMap 查询参数
* @return 查询结果
*/
int counts(Map<String, String> parameterMap);
/**
* 新增数据
*
* @param beanJson
* @return
*/
int insert(String beanJson, HttpServletRequest request);
/**
* 更新数据
*
* @param beanJson
* @return
*/
int update(String beanJson, Long id);
/**
* 删除数据
*
* @param id
* @return
*/
int delete(Long id);
/**
* 批量删除数据
*
* @param ids
* @return
*/
int batchDelete(String ids);
/**
* 查询名称是否存在
*
* @param id
* @return
*/
int checkIsNameExist(Long id, String name);
}
\ No newline at end of file
package com.jsh.erp.service;
import com.jsh.erp.utils.AnnotationUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.util.Assert;
import java.util.HashMap;
import java.util.Map;
/**
* @author jishenghua 2018-10-7 15:25:09
*/
@Service
public class InterfaceContainer {
private final Map<String, Integer> nameTypeMap;
private final Map<Integer, ICommonQuery> configComponentMap;
public InterfaceContainer() {
nameTypeMap = new HashMap<>();
configComponentMap = new HashMap<>();
}
@Autowired(required = false)
private void init(ICommonQuery[] configComponents) {
for (ICommonQuery configComponent : configComponents) {
ResourceInfo info = AnnotationUtils.getAnnotation(configComponent, ResourceInfo.class);
if (info != null) {
initResourceInfo(info);
configComponentMap.put(info.type(), configComponent);
}
}
}
public int getResourceType(String apiName) {
if (!nameTypeMap.containsKey(apiName))
throw new RuntimeException("资源:" + apiName + "的组件不存在");
return nameTypeMap.get(apiName);
}
public ICommonQuery getCommonQuery(String apiName) {
return getCommonQuery(this.getResourceType(apiName));
}
private ICommonQuery getCommonQuery(int resourceType) {
Assert.isTrue(configComponentMap.containsKey(resourceType));
return configComponentMap.get(resourceType);
}
private synchronized void initResourceInfo(ResourceInfo info) {
if (nameTypeMap.containsKey(info.value())) {
Assert.isTrue(nameTypeMap.get(info.value()).equals(info.type()));
} else {
nameTypeMap.put(info.value(), info.type());
}
}
}
package com.jsh.erp.service;
import java.lang.annotation.*;
/**
* @author jishenghua 2018-10-7 15:25:39
* user-5
* role-10
* app-15
* depot-20
* log-25
* functions-30
* inOutItem-35
* unit-40
* person-45
* userBusiness-50
* systemConfig-55
* materialProperty-60
* account-65
* supplier-70
* materialCategory-75
* material-80
* depotHead-85
* depotItem-90
* accountHead-95
* accountItem-100
*/
@Target({ElementType.TYPE, ElementType.ANNOTATION_TYPE})
@Retention(RetentionPolicy.RUNTIME)
@Inherited
@Documented
public @interface ResourceInfo {
String value();
int type();
}
package com.jsh.erp.service.account;
import com.jsh.erp.service.ICommonQuery;
import com.jsh.erp.service.depot.DepotResource;
import com.jsh.erp.service.depot.DepotService;
import com.jsh.erp.utils.Constants;
import com.jsh.erp.utils.QueryUtils;
import com.jsh.erp.utils.StringUtil;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import java.util.List;
import java.util.Map;
@Service(value = "account_component")
@AccountResource
public class AccountComponent implements ICommonQuery {
@Resource
private AccountService accountService;
@Override
public Object selectOne(String condition) {
return null;
}
@Override
public List<?> select(Map<String, String> map) {
return getAccountList(map);
}
private List<?> getAccountList(Map<String, String> map) {
String search = map.get(Constants.SEARCH);
String name = StringUtil.getInfo(search, "name");
String serialNo = StringUtil.getInfo(search, "serialNo");
String remark = StringUtil.getInfo(search, "remark");
String order = QueryUtils.order(map);
return accountService.select(name, serialNo, remark, QueryUtils.offset(map), QueryUtils.rows(map));
}
@Override
public int counts(Map<String, String> map) {
String search = map.get(Constants.SEARCH);
String name = StringUtil.getInfo(search, "name");
String serialNo = StringUtil.getInfo(search, "serialNo");
String remark = StringUtil.getInfo(search, "remark");
return accountService.countAccount(name, serialNo, remark);
}
@Override
public int insert(String beanJson, HttpServletRequest request) {
return accountService.insertAccount(beanJson, request);
}
@Override
public int update(String beanJson, Long id) {
return accountService.updateAccount(beanJson, id);
}
@Override
public int delete(Long id) {
return accountService.deleteAccount(id);
}
@Override
public int batchDelete(String ids) {
return accountService.batchDeleteAccount(ids);
}
@Override
public int checkIsNameExist(Long id, String name) {
return accountService.checkIsNameExist(id, name);
}
}
package com.jsh.erp.service.account;
import com.jsh.erp.service.ResourceInfo;
import java.lang.annotation.*;
/**
* @author jishenghua qq752718920 2018-10-7 15:26:27
*/
@ResourceInfo(value = "account", type = 65)
@Inherited
@Target(ElementType.TYPE)
@Retention(RetentionPolicy.RUNTIME)
public @interface AccountResource {
}
Supports Markdown
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