解决商品的bug

This commit is contained in:
季圣华
2018-12-24 22:55:32 +08:00
parent c0e43886a8
commit cce885fd4a
7 changed files with 117 additions and 37 deletions

View File

@@ -55,7 +55,7 @@ public class MaterialCategoryController {
}
}
res.code = 200;
res.data = dataList;
res.data = outer;
} catch(Exception e){
e.printStackTrace();
res.code = 500;

View File

@@ -50,6 +50,10 @@ public class MaterialVo4Unit {
private String unitName;
private String categoryName;
private String materialOther;
public Long getId() {
return id;
}
@@ -241,4 +245,20 @@ public class MaterialVo4Unit {
public void setUnitName(String unitName) {
this.unitName = unitName;
}
public String getCategoryName() {
return categoryName;
}
public void setCategoryName(String categoryName) {
this.categoryName = categoryName;
}
public String getMaterialOther() {
return materialOther;
}
public void setMaterialOther(String materialOther) {
this.materialOther = materialOther;
}
}

View File

@@ -96,15 +96,21 @@ public interface MaterialMapper {
*/
int updateByPrimaryKey(Material record);
List<Material> selectByConditionMaterial(
List<MaterialVo4Unit> selectByConditionMaterial(
@Param("name") String name,
@Param("model") String model,
@Param("categoryId") Long categoryId,
@Param("categoryIds") String categoryIds,
@Param("mpList") String mpList,
@Param("offset") Integer offset,
@Param("rows") Integer rows);
int countsByMaterial(
@Param("name") String name,
@Param("model") String model);
@Param("model") String model,
@Param("categoryId") Long categoryId,
@Param("categoryIds") String categoryIds,
@Param("mpList") String mpList);
String findUnitName(@Param("mId") Long mId);

View File

@@ -34,8 +34,11 @@ public class MaterialComponent implements ICommonQuery {
String search = map.get(Constants.SEARCH);
String name = StringUtil.getInfo(search, "name");
String model = StringUtil.getInfo(search, "model");
Long categoryId = Long.parseLong(StringUtil.getInfo(search, "categoryId"));
String categoryIds = StringUtil.getInfo(search, "categoryIds");
String mpList = StringUtil.getInfo(search, "mpList");
String order = QueryUtils.order(map);
return materialService.select(name, model, QueryUtils.offset(map), QueryUtils.rows(map));
return materialService.select(name, model,categoryId,categoryIds,mpList, QueryUtils.offset(map), QueryUtils.rows(map));
}
@Override
@@ -43,7 +46,10 @@ public class MaterialComponent implements ICommonQuery {
String search = map.get(Constants.SEARCH);
String name = StringUtil.getInfo(search, "name");
String model = StringUtil.getInfo(search, "model");
return materialService.countMaterial(name, model);
Long categoryId = Long.parseLong(StringUtil.getInfo(search, "categoryId"));
String categoryIds = StringUtil.getInfo(search, "categoryIds");
String mpList = StringUtil.getInfo(search, "mpList");
return materialService.countMaterial(name, model,categoryId,categoryIds,mpList);
}
@Override

View File

@@ -31,12 +31,43 @@ public class MaterialService {
return materialMapper.selectByExample(example);
}
public List<Material> select(String name, String model, int offset, int rows) {
return materialMapper.selectByConditionMaterial(name, model, offset, rows);
public List<MaterialVo4Unit> select(String name, String model,Long categoryId, String categoryIds,String mpList, int offset, int rows) {
String[] mpArr = mpList.split(",");
List<MaterialVo4Unit> resList = new ArrayList<MaterialVo4Unit>();
List<MaterialVo4Unit> list = materialMapper.selectByConditionMaterial(name, model,categoryId,categoryIds,mpList, offset, rows);
if (null != list) {
for (MaterialVo4Unit m : list) {
//扩展信息
String materialOther = "";
for (int i = 0; i < mpArr.length; i++) {
if (mpArr[i].equals("颜色")) {
materialOther = materialOther + ((m.getColor() == null || m.getColor().equals("")) ? "" : "(" + m.getColor() + ")");
}
if (mpArr[i].equals("规格")) {
materialOther = materialOther + ((m.getStandard() == null || m.getStandard().equals("")) ? "" : "(" + m.getStandard() + ")");
}
if (mpArr[i].equals("制造商")) {
materialOther = materialOther + ((m.getMfrs() == null || m.getMfrs().equals("")) ? "" : "(" + m.getMfrs() + ")");
}
if (mpArr[i].equals("自定义1")) {
materialOther = materialOther + ((m.getOtherfield1() == null || m.getOtherfield1().equals("")) ? "" : "(" + m.getOtherfield1() + ")");
}
if (mpArr[i].equals("自定义2")) {
materialOther = materialOther + ((m.getOtherfield2() == null || m.getOtherfield2().equals("")) ? "" : "(" + m.getOtherfield2() + ")");
}
if (mpArr[i].equals("自定义3")) {
materialOther = materialOther + ((m.getOtherfield3() == null || m.getOtherfield3().equals("")) ? "" : "(" + m.getOtherfield3() + ")");
}
}
m.setMaterialOther(materialOther);
resList.add(m);
}
}
return resList;
}
public int countMaterial(String name, String model) {
return materialMapper.countsByMaterial(name, model);
public int countMaterial(String name, String model,Long categoryId, String categoryIds,String mpList) {
return materialMapper.countsByMaterial(name, model,categoryId,categoryIds,mpList);
}
public int insertMaterial(String beanJson, HttpServletRequest request) {

View File

@@ -1,20 +1,31 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.jsh.erp.datasource.mappers.MaterialMapper">
<resultMap extends="BaseResultMap" id="ResultMapList" type="com.jsh.erp.datasource.entities.MaterialVo4Unit">
<result column="unitName" jdbcType="VARCHAR" property="unitName" />
<result column="categoryName" jdbcType="VARCHAR" property="categoryName" />
</resultMap>
<resultMap extends="BaseResultMap" id="ResultAndUnitMap" type="com.jsh.erp.datasource.entities.MaterialVo4Unit">
<result column="UName" jdbcType="VARCHAR" property="unitName" />
</resultMap>
<select id="selectByConditionMaterial" parameterType="com.jsh.erp.datasource.entities.MaterialExample" resultMap="BaseResultMap">
select *
FROM jsh_material
<select id="selectByConditionMaterial" parameterType="com.jsh.erp.datasource.entities.MaterialExample" resultMap="ResultMapList">
select m.*,u.uname unitName, mc.name categoryName
FROM jsh_material m
left JOIN jsh_unit u on m.UnitId = u.id
left JOIN jsh_materialcategory mc on m.CategoryId = mc.id
where 1=1
<if test="name != null">
and name like '%${name}%'
and m.name like '%${name}%'
</if>
<if test="model != null">
and model like '%${model}%'
and m.model like '%${model}%'
</if>
<if test="categoryId != 1">
and m.CategoryId in (${categoryIds})
</if>
order by m.id asc
<if test="offset != null and rows != null">
limit #{offset},#{rows}
</if>
@@ -22,14 +33,19 @@
<select id="countsByMaterial" resultType="java.lang.Integer">
SELECT
COUNT(id)
FROM jsh_material
COUNT(m.id)
FROM jsh_material m
left JOIN jsh_unit u on m.UnitId = u.id
left JOIN jsh_materialcategory mc on m.CategoryId = mc.id
WHERE 1=1
<if test="name != null">
and name like '%${name}%'
and m.name like '%${name}%'
</if>
<if test="model != null">
and model like '%${model}%'
and m.model like '%${model}%'
</if>
<if test="categoryId != 1">
and m.CategoryId in (${categoryIds})
</if>
</select>