增加商品属性的模块[主线]
This commit is contained in:
@@ -67,6 +67,9 @@ public class MaterialAction extends BaseAction<MaterialModel>
|
||||
material.setPriceStrategy(model.getPriceStrategy());
|
||||
material.setRemark(model.getRemark());
|
||||
material.setEnabled(model.getEnabled());
|
||||
material.setOtherField1(model.getOtherField1());
|
||||
material.setOtherField2(model.getOtherField2());
|
||||
material.setOtherField3(model.getOtherField3());
|
||||
materialService.create(material);
|
||||
|
||||
//========标识位===========
|
||||
@@ -161,6 +164,9 @@ public class MaterialAction extends BaseAction<MaterialModel>
|
||||
material.setFirstInUnit(model.getFirstInUnit());
|
||||
material.setPriceStrategy(model.getPriceStrategy());
|
||||
material.setRemark(model.getRemark());
|
||||
material.setOtherField1(model.getOtherField1());
|
||||
material.setOtherField2(model.getOtherField2());
|
||||
material.setOtherField3(model.getOtherField3());
|
||||
materialService.update(material);
|
||||
|
||||
flag = true;
|
||||
@@ -329,6 +335,9 @@ public class MaterialAction extends BaseAction<MaterialModel>
|
||||
item.put("PriceStrategy", material.getPriceStrategy());
|
||||
item.put("Enabled", material.getEnabled());
|
||||
item.put("Remark", material.getRemark());
|
||||
item.put("OtherField1", material.getOtherField1());
|
||||
item.put("OtherField2", material.getOtherField2());
|
||||
item.put("OtherField3", material.getOtherField3());
|
||||
item.put("op", 1);
|
||||
dataArray.add(item);
|
||||
}
|
||||
|
||||
@@ -0,0 +1,132 @@
|
||||
package com.jsh.action.materials;
|
||||
|
||||
import com.jsh.base.BaseAction;
|
||||
import com.jsh.base.Log;
|
||||
import com.jsh.model.po.Logdetails;
|
||||
import com.jsh.model.po.MaterialProperty;
|
||||
import com.jsh.model.vo.materials.MaterialPropertyModel;
|
||||
import com.jsh.service.materials.MaterialPropertyIService;
|
||||
import com.jsh.util.PageUtil;
|
||||
import net.sf.json.JSONArray;
|
||||
import net.sf.json.JSONObject;
|
||||
import org.springframework.dao.DataAccessException;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.sql.Timestamp;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/*
|
||||
* 商品属性
|
||||
* @author ji s h e n g hua qq:75 27 18 920
|
||||
*/
|
||||
@SuppressWarnings("serial")
|
||||
public class MaterialPropertyAction extends BaseAction<MaterialPropertyModel>
|
||||
{
|
||||
private MaterialPropertyIService materialPropertyService;
|
||||
private MaterialPropertyModel model = new MaterialPropertyModel();
|
||||
|
||||
/**
|
||||
* 更新商品属性
|
||||
* @return
|
||||
*/
|
||||
public void update() {
|
||||
Boolean flag = false;
|
||||
try {
|
||||
MaterialProperty materialProperty = materialPropertyService.get(model.getId());
|
||||
materialProperty.setNativeName(model.getNativeName());
|
||||
materialProperty.setEnabled(model.getEnabled());
|
||||
materialProperty.setSort(model.getSort());
|
||||
materialProperty.setAnotherName(model.getAnotherName());
|
||||
materialPropertyService.update(materialProperty);
|
||||
|
||||
flag = true;
|
||||
tipMsg = "成功";
|
||||
tipType = 0;
|
||||
}
|
||||
catch (DataAccessException e) {
|
||||
Log.errorFileSync(">>>>>>>>>>>>>修改商品属性ID为 : " + model.getId() + "失败", e);
|
||||
flag = false;
|
||||
tipMsg = "失败";
|
||||
tipType = 1;
|
||||
}
|
||||
finally {
|
||||
try {
|
||||
toClient(flag.toString());
|
||||
}
|
||||
catch (IOException e) {
|
||||
Log.errorFileSync(">>>>>>>>>>>>修改商品属性回写客户端结果异常", e);
|
||||
}
|
||||
}
|
||||
logService.create(new Logdetails(getUser(), "更新商品属性", model.getClientIp(),
|
||||
new Timestamp(System.currentTimeMillis())
|
||||
, tipType, "更新商品属性ID为 "+ model.getId() + " " + tipMsg + "!", "更新商品属性" + tipMsg));
|
||||
}
|
||||
|
||||
/**
|
||||
* 查找商品属性
|
||||
* @return
|
||||
*/
|
||||
public void findBy() {
|
||||
try {
|
||||
PageUtil<MaterialProperty> pageUtil = new PageUtil<MaterialProperty>();
|
||||
pageUtil.setPageSize(0);
|
||||
pageUtil.setCurPage(0);
|
||||
pageUtil.setAdvSearch(getCondition());
|
||||
materialPropertyService.find(pageUtil);
|
||||
List<MaterialProperty> dataList = pageUtil.getPageList();
|
||||
|
||||
JSONObject outer = new JSONObject();
|
||||
outer.put("total", pageUtil.getTotalCount());
|
||||
//存放数据json数组
|
||||
JSONArray dataArray = new JSONArray();
|
||||
if(null != dataList) {
|
||||
for(MaterialProperty materialProperty:dataList) {
|
||||
JSONObject item = new JSONObject();
|
||||
item.put("id", materialProperty.getId());
|
||||
item.put("nativeName", materialProperty.getNativeName());
|
||||
item.put("enabled", materialProperty.getEnabled());
|
||||
item.put("sort", materialProperty.getSort());
|
||||
item.put("anotherName", materialProperty.getAnotherName());
|
||||
dataArray.add(item);
|
||||
}
|
||||
}
|
||||
outer.put("rows", dataArray);
|
||||
//回写查询结果
|
||||
toClient(outer.toString());
|
||||
}
|
||||
catch (DataAccessException e)
|
||||
{
|
||||
Log.errorFileSync(">>>>>>>>>>>>>>>>>>>查找商品属性异常", e);
|
||||
}
|
||||
catch (IOException e)
|
||||
{
|
||||
Log.errorFileSync(">>>>>>>>>>>>>>>>>>>回写查询商品属性结果异常", e);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 拼接搜索条件
|
||||
* @return
|
||||
*/
|
||||
private Map<String,Object> getCondition()
|
||||
{
|
||||
/**
|
||||
* 拼接搜索条件
|
||||
*/
|
||||
Map<String,Object> condition = new HashMap<String,Object>();
|
||||
condition.put("nativeName_s_like", model.getNativeName());
|
||||
condition.put("sort_s_order", "asc");
|
||||
return condition;
|
||||
}
|
||||
|
||||
//=============以下spring注入以及Model驱动公共方法,与Action处理无关==================
|
||||
@Override
|
||||
public MaterialPropertyModel getModel() {
|
||||
return model;
|
||||
}
|
||||
public void setMaterialPropertyService(MaterialPropertyIService materialPropertyService) {
|
||||
this.materialPropertyService = materialPropertyService;
|
||||
}
|
||||
}
|
||||
17
src/main/java/com/jsh/dao/materials/MaterialPropertyDAO.java
Normal file
17
src/main/java/com/jsh/dao/materials/MaterialPropertyDAO.java
Normal file
@@ -0,0 +1,17 @@
|
||||
package com.jsh.dao.materials;
|
||||
|
||||
import com.jsh.base.BaseDAO;
|
||||
import com.jsh.model.po.MaterialProperty;
|
||||
|
||||
public class MaterialPropertyDAO extends BaseDAO<MaterialProperty> implements MaterialPropertyIDAO
|
||||
{
|
||||
/**
|
||||
* 设置dao映射基类
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public Class<MaterialProperty> getEntityClass()
|
||||
{
|
||||
return MaterialProperty.class;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
package com.jsh.dao.materials;
|
||||
|
||||
import com.jsh.base.BaseIDAO;
|
||||
import com.jsh.model.po.MaterialProperty;
|
||||
|
||||
public interface MaterialPropertyIDAO extends BaseIDAO<MaterialProperty>
|
||||
{
|
||||
|
||||
}
|
||||
@@ -25,6 +25,9 @@ public class Material implements java.io.Serializable
|
||||
private String PriceStrategy;
|
||||
private String Remark;
|
||||
private Boolean Enabled;
|
||||
private String OtherField1;
|
||||
private String OtherField2;
|
||||
private String OtherField3;
|
||||
|
||||
//----------以下属性导入exel表格使用--------------------
|
||||
/**
|
||||
@@ -52,7 +55,8 @@ public class Material implements java.io.Serializable
|
||||
public Material(MaterialCategory materialCategory, String name, String mfrs, Double packing,
|
||||
Double safetyStock, String model, String standard, String color, String unit, String remark,
|
||||
Double retailPrice, Double lowPrice, Double presetPriceOne, Double presetPriceTwo,
|
||||
Unit unitId, String firstOutUnit, String firstInUnit, String priceStrategy, Boolean enabled) {
|
||||
Unit unitId, String firstOutUnit, String firstInUnit, String priceStrategy, Boolean enabled,
|
||||
String otherField1, String otherField2, String otherField3) {
|
||||
super();
|
||||
this.materialCategory = materialCategory;
|
||||
Name = name;
|
||||
@@ -73,6 +77,9 @@ public class Material implements java.io.Serializable
|
||||
FirstInUnit = firstInUnit;
|
||||
PriceStrategy = priceStrategy;
|
||||
Enabled = enabled;
|
||||
OtherField1 = otherField1;
|
||||
OtherField2 = otherField2;
|
||||
OtherField3 = otherField3;
|
||||
}
|
||||
|
||||
public Long getId()
|
||||
@@ -255,6 +262,30 @@ public class Material implements java.io.Serializable
|
||||
Enabled = enabled;
|
||||
}
|
||||
|
||||
public String getOtherField1() {
|
||||
return OtherField1;
|
||||
}
|
||||
|
||||
public void setOtherField1(String otherField1) {
|
||||
OtherField1 = otherField1;
|
||||
}
|
||||
|
||||
public String getOtherField3() {
|
||||
return OtherField3;
|
||||
}
|
||||
|
||||
public void setOtherField3(String otherField3) {
|
||||
OtherField3 = otherField3;
|
||||
}
|
||||
|
||||
public String getOtherField2() {
|
||||
return OtherField2;
|
||||
}
|
||||
|
||||
public void setOtherField2(String otherField2) {
|
||||
OtherField2 = otherField2;
|
||||
}
|
||||
|
||||
public Map<Integer, String> getCellInfo() {
|
||||
return cellInfo;
|
||||
}
|
||||
|
||||
66
src/main/java/com/jsh/model/po/MaterialProperty.java
Normal file
66
src/main/java/com/jsh/model/po/MaterialProperty.java
Normal file
@@ -0,0 +1,66 @@
|
||||
package com.jsh.model.po;
|
||||
|
||||
@SuppressWarnings("serial")
|
||||
public class MaterialProperty implements java.io.Serializable {
|
||||
private Long id;
|
||||
private String nativeName;
|
||||
private Boolean enabled;
|
||||
private String sort;
|
||||
private String anotherName;
|
||||
|
||||
public MaterialProperty() {
|
||||
|
||||
}
|
||||
|
||||
public MaterialProperty(Long id)
|
||||
{
|
||||
this.id = id;
|
||||
}
|
||||
|
||||
public MaterialProperty(String nativeName, Boolean enabled,String sort, String anotherName) {
|
||||
nativeName = nativeName;
|
||||
enabled = enabled;
|
||||
sort = sort;
|
||||
anotherName = anotherName;
|
||||
}
|
||||
|
||||
public Long getId() {
|
||||
return id;
|
||||
}
|
||||
|
||||
public void setId(Long id) {
|
||||
this.id = id;
|
||||
}
|
||||
|
||||
public String getNativeName() {
|
||||
return nativeName;
|
||||
}
|
||||
|
||||
public void setNativeName(String nativeName) {
|
||||
this.nativeName = nativeName;
|
||||
}
|
||||
|
||||
public Boolean getEnabled() {
|
||||
return enabled;
|
||||
}
|
||||
|
||||
public void setEnabled(Boolean enabled) {
|
||||
this.enabled = enabled;
|
||||
}
|
||||
|
||||
public String getSort() {
|
||||
return sort;
|
||||
}
|
||||
|
||||
public void setSort(String sort) {
|
||||
this.sort = sort;
|
||||
}
|
||||
|
||||
public String getAnotherName() {
|
||||
return anotherName;
|
||||
}
|
||||
|
||||
public void setAnotherName(String anotherName) {
|
||||
this.anotherName = anotherName;
|
||||
}
|
||||
}
|
||||
@@ -77,6 +77,12 @@ public class MaterialModel implements Serializable
|
||||
|
||||
private Boolean Enabled = true; //是否启用
|
||||
|
||||
private String OtherField1;
|
||||
|
||||
private String OtherField2;
|
||||
|
||||
private String OtherField3;
|
||||
|
||||
/**
|
||||
* CategoryId
|
||||
*/
|
||||
@@ -332,6 +338,30 @@ public class MaterialModel implements Serializable
|
||||
Enabled = enabled;
|
||||
}
|
||||
|
||||
public String getOtherField1() {
|
||||
return OtherField1;
|
||||
}
|
||||
|
||||
public void setOtherField1(String otherField1) {
|
||||
OtherField1 = otherField1;
|
||||
}
|
||||
|
||||
public String getOtherField2() {
|
||||
return OtherField2;
|
||||
}
|
||||
|
||||
public void setOtherField2(String otherField2) {
|
||||
OtherField2 = otherField2;
|
||||
}
|
||||
|
||||
public String getOtherField3() {
|
||||
return OtherField3;
|
||||
}
|
||||
|
||||
public void setOtherField3(String otherField3) {
|
||||
OtherField3 = otherField3;
|
||||
}
|
||||
|
||||
public String getBrowserType() {
|
||||
return browserType;
|
||||
}
|
||||
|
||||
@@ -0,0 +1,122 @@
|
||||
package com.jsh.model.vo.materials;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
@SuppressWarnings("serial")
|
||||
public class MaterialPropertyModel implements Serializable
|
||||
{
|
||||
private MaterialCategoryShowModel showModel = new MaterialCategoryShowModel();
|
||||
|
||||
/**======开始接受页面参数=================**/
|
||||
/**
|
||||
* 名称
|
||||
*/
|
||||
private String nativeName;
|
||||
|
||||
/**
|
||||
* 是否启用
|
||||
*/
|
||||
private Boolean enabled = true;
|
||||
|
||||
/**
|
||||
* 排序
|
||||
*/
|
||||
private String sort;
|
||||
|
||||
/**
|
||||
* 别名
|
||||
*/
|
||||
private String anotherName;
|
||||
|
||||
/**
|
||||
* Id编号
|
||||
*/
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 每页显示的个数
|
||||
*/
|
||||
private int pageSize = 10;
|
||||
|
||||
/**
|
||||
* 当前页码
|
||||
*/
|
||||
private int pageNo = 1;
|
||||
|
||||
/**
|
||||
* 用户IP,用户记录操作日志
|
||||
*/
|
||||
private String clientIp = "";
|
||||
|
||||
public MaterialCategoryShowModel getShowModel() {
|
||||
return showModel;
|
||||
}
|
||||
|
||||
public void setShowModel(MaterialCategoryShowModel showModel) {
|
||||
this.showModel = showModel;
|
||||
}
|
||||
|
||||
public String getNativeName() {
|
||||
return nativeName;
|
||||
}
|
||||
|
||||
public void setNativeName(String nativeName) {
|
||||
this.nativeName = nativeName;
|
||||
}
|
||||
|
||||
public Boolean getEnabled() {
|
||||
return enabled;
|
||||
}
|
||||
|
||||
public void setEnabled(Boolean enabled) {
|
||||
this.enabled = enabled;
|
||||
}
|
||||
|
||||
public String getSort() {
|
||||
return sort;
|
||||
}
|
||||
|
||||
public void setSort(String sort) {
|
||||
this.sort = sort;
|
||||
}
|
||||
|
||||
public String getAnotherName() {
|
||||
return anotherName;
|
||||
}
|
||||
|
||||
public void setAnotherName(String anotherName) {
|
||||
this.anotherName = anotherName;
|
||||
}
|
||||
|
||||
public Long getId() {
|
||||
return id;
|
||||
}
|
||||
|
||||
public void setId(Long id) {
|
||||
this.id = id;
|
||||
}
|
||||
|
||||
public int getPageSize() {
|
||||
return pageSize;
|
||||
}
|
||||
|
||||
public void setPageSize(int pageSize) {
|
||||
this.pageSize = pageSize;
|
||||
}
|
||||
|
||||
public int getPageNo() {
|
||||
return pageNo;
|
||||
}
|
||||
|
||||
public void setPageNo(int pageNo) {
|
||||
this.pageNo = pageNo;
|
||||
}
|
||||
|
||||
public String getClientIp() {
|
||||
return clientIp;
|
||||
}
|
||||
|
||||
public void setClientIp(String clientIp) {
|
||||
this.clientIp = clientIp;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,43 @@
|
||||
package com.jsh.model.vo.materials;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
@SuppressWarnings("serial")
|
||||
public class MaterialPropertyShowModel implements Serializable
|
||||
{
|
||||
/**
|
||||
* 提示信息
|
||||
*/
|
||||
private String msgTip = "";
|
||||
|
||||
/**
|
||||
* 系统数据
|
||||
*/
|
||||
@SuppressWarnings("rawtypes")
|
||||
private Map<String,List> map = new HashMap<String,List>();
|
||||
|
||||
public String getMsgTip()
|
||||
{
|
||||
return msgTip;
|
||||
}
|
||||
|
||||
public void setMsgTip(String msgTip)
|
||||
{
|
||||
this.msgTip = msgTip;
|
||||
}
|
||||
|
||||
@SuppressWarnings("rawtypes")
|
||||
public Map<String, List> getMap() {
|
||||
return map;
|
||||
}
|
||||
|
||||
@SuppressWarnings("rawtypes")
|
||||
public void setMap(Map<String, List> map) {
|
||||
this.map = map;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
package com.jsh.service.materials;
|
||||
|
||||
import com.jsh.base.BaseIService;
|
||||
import com.jsh.model.po.MaterialProperty;
|
||||
|
||||
public interface MaterialPropertyIService extends BaseIService<MaterialProperty>
|
||||
{
|
||||
|
||||
}
|
||||
@@ -0,0 +1,24 @@
|
||||
package com.jsh.service.materials;
|
||||
|
||||
import com.jsh.base.BaseService;
|
||||
import com.jsh.dao.materials.MaterialPropertyIDAO;
|
||||
import com.jsh.model.po.MaterialProperty;
|
||||
|
||||
public class MaterialPropertyService extends BaseService<MaterialProperty> implements MaterialPropertyIService
|
||||
{
|
||||
@SuppressWarnings("unused")
|
||||
private MaterialPropertyIDAO materialPropertyDao;
|
||||
|
||||
|
||||
public void setMaterialPropertyDao(MaterialPropertyIDAO materialPropertyDao) {
|
||||
this.materialPropertyDao = materialPropertyDao;
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
protected Class<MaterialProperty> getEntityClass()
|
||||
{
|
||||
return MaterialProperty.class;
|
||||
}
|
||||
|
||||
}
|
||||
@@ -100,5 +100,20 @@
|
||||
<comment>启用</comment>
|
||||
</column>
|
||||
</property>
|
||||
<property generated="never" lazy="false" name="OtherField1" type="java.lang.String">
|
||||
<column length="50" name="OtherField1">
|
||||
<comment>自定义1</comment>
|
||||
</column>
|
||||
</property>
|
||||
<property generated="never" lazy="false" name="OtherField2" type="java.lang.String">
|
||||
<column length="50" name="OtherField2">
|
||||
<comment>自定义2</comment>
|
||||
</column>
|
||||
</property>
|
||||
<property generated="never" lazy="false" name="OtherField3" type="java.lang.String">
|
||||
<column length="50" name="OtherField3">
|
||||
<comment>自定义3</comment>
|
||||
</column>
|
||||
</property>
|
||||
</class>
|
||||
</hibernate-mapping>
|
||||
|
||||
31
src/main/resources/hibernate/MaterialProperty.hbm.xml
Normal file
31
src/main/resources/hibernate/MaterialProperty.hbm.xml
Normal file
@@ -0,0 +1,31 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
|
||||
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
|
||||
<hibernate-mapping>
|
||||
<class name="com.jsh.model.po.MaterialProperty" table="jsh_materialproperty">
|
||||
<id name="id" type="java.lang.Long">
|
||||
<column name="id"/>
|
||||
<generator class="native"/>
|
||||
</id>
|
||||
<property generated="never" lazy="false" name="nativeName" type="java.lang.String">
|
||||
<column length="50" name="nativeName">
|
||||
<comment>原始名称</comment>
|
||||
</column>
|
||||
</property>
|
||||
<property generated="never" lazy="false" name="enabled" type="boolean">
|
||||
<column length="1" name="enabled">
|
||||
<comment>是否启用</comment>
|
||||
</column>
|
||||
</property>
|
||||
<property generated="never" lazy="false" name="sort" type="java.lang.String">
|
||||
<column length="10" name="sort">
|
||||
<comment>排序</comment>
|
||||
</column>
|
||||
</property>
|
||||
<property generated="never" lazy="false" name="anotherName" type="java.lang.String">
|
||||
<column length="50" name="anotherName">
|
||||
<comment>别名</comment>
|
||||
</column>
|
||||
</property>
|
||||
</class>
|
||||
</hibernate-mapping>
|
||||
@@ -44,5 +44,6 @@
|
||||
<mapping resource="hibernate/AccountHead.hbm.xml" />
|
||||
<mapping resource="hibernate/AccountItem.hbm.xml" />
|
||||
<mapping resource="hibernate/SystemConfig.hbm.xml" />
|
||||
<mapping resource="hibernate/MaterialProperty.hbm.xml" />
|
||||
</session-factory>
|
||||
</hibernate-configuration>
|
||||
|
||||
@@ -126,6 +126,17 @@
|
||||
</bean>
|
||||
<!--系统配置结束 -->
|
||||
|
||||
<!--商品属性开始 -->
|
||||
<bean id="materialPropertyService" class="com.jsh.service.materials.MaterialPropertyService">
|
||||
<property name="baseDao" ref="baseDao"/>
|
||||
</bean>
|
||||
<!-- spring整合struts2需要默认为request或者 prototype,不能是单例 -->
|
||||
<bean id="materialPropertyAction" class="com.jsh.action.materials.MaterialPropertyAction" scope="prototype">
|
||||
<property name="materialPropertyService" ref="materialPropertyService" />
|
||||
<property name="logService" ref="logService"/>
|
||||
</bean>
|
||||
<!--商品属性结束 -->
|
||||
|
||||
<!--分类配置开始 -->
|
||||
<bean id="categoryService" class="com.jsh.service.basic.CategoryService">
|
||||
<property name="baseDao" ref="baseDao"/>
|
||||
|
||||
@@ -56,4 +56,6 @@
|
||||
<bean id="accountItemDao" parent="daoTemplate" class="com.jsh.dao.materials.AccountItemDAO"/>
|
||||
<!-- 配置systemConfigDAO组件 -->
|
||||
<bean id="systemConfigDAO" parent="daoTemplate" class="com.jsh.dao.basic.SystemConfigDAO"/>
|
||||
<!-- 配置materialPropertyDAO组件 -->
|
||||
<bean id="materialPropertyDAO" parent="daoTemplate" class="com.jsh.dao.materials.MaterialPropertyDAO"/>
|
||||
</beans>
|
||||
|
||||
11
src/main/resources/struts2/materialProperty-struts.xml
Normal file
11
src/main/resources/struts2/materialProperty-struts.xml
Normal file
@@ -0,0 +1,11 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<!DOCTYPE struts PUBLIC
|
||||
"-//Apache Software Foundation//DTD Struts Configuration 2.1.7//EN"
|
||||
"http://struts.apache.org/dtds/struts-2.1.7.dtd">
|
||||
<struts>
|
||||
<package name="materialProperty" namespace="/materialProperty" extends="json-default">
|
||||
<action name="*" class="materialPropertyAction" method="{1}">
|
||||
<result type="json"/>
|
||||
</action>
|
||||
</package>
|
||||
</struts>
|
||||
@@ -59,10 +59,10 @@
|
||||
<table id="tableData" style="top:300px;border-bottom-color:#FFFFFF"></table>
|
||||
</div>
|
||||
|
||||
<div id="materialDlg" class="easyui-dialog" style="width:860px;height:400px;padding:10px 20px"
|
||||
<div id="materialDlg" class="easyui-dialog" style="width:860px;height:420px;padding:10px 20px"
|
||||
closed="true" buttons="#dlg-buttons" modal="true" collapsible="false" closable="true">
|
||||
<form id="materialFM" method="post" novalidate>
|
||||
<div id="tt" class="easyui-tabs" style="width:800px;height:300px;">
|
||||
<div id="tt" class="easyui-tabs" style="width:800px;height:320px;">
|
||||
<div title="基本信息" style="padding:20px;">
|
||||
<table>
|
||||
<tr>
|
||||
@@ -183,6 +183,30 @@
|
||||
<input name="Standard" id="Standard" class="easyui-validatebox" data-options="validType:'length[1,30]'" style="width: 250px;height: 20px"/>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>制造商</td>
|
||||
<td style="padding:5px">
|
||||
<input name="Mfrs" id="Mfrs" class="easyui-validatebox" data-options="validType:'length[1,30]'" style="width: 250px;height: 20px"/>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>自定义1</td>
|
||||
<td style="padding:5px">
|
||||
<input name="OtherField1" id="OtherField1" class="easyui-validatebox" data-options="validType:'length[1,30]'" style="width: 250px;height: 20px"/>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>自定义2</td>
|
||||
<td style="padding:5px">
|
||||
<input name="OtherField2" id="OtherField2" class="easyui-validatebox" data-options="validType:'length[1,30]'" style="width: 250px;height: 20px"/>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>自定义3</td>
|
||||
<td style="padding:5px">
|
||||
<input name="OtherField3" id="OtherField3" class="easyui-validatebox" data-options="validType:'length[1,30]'" style="width: 250px;height: 20px"/>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
@@ -521,7 +545,8 @@
|
||||
var rowInfo = rec.Id + 'AaBb' + rec.Name+ 'AaBb' + rec.Model + 'AaBb' + rec.Color + 'AaBb' + rec.Unit + 'AaBb' + rec.RetailPrice
|
||||
+ 'AaBb' + rec.LowPrice + 'AaBb' + rec.PresetPriceOne + 'AaBb' + rec.PresetPriceTwo + 'AaBb' + rec.Remark + 'AaBb' + rec.Standard
|
||||
+ 'AaBb' + rec.Color + 'AaBb' + rec.Packing + 'AaBb' + rec.SafetyStock + 'AaBb' + rec.CategoryId + 'AaBb' + rec.CategoryName
|
||||
+ 'AaBb' + rec.UnitId + 'AaBb' + rec.UnitName + 'AaBb' + rec.FirstOutUnit + 'AaBb' + rec.FirstInUnit;
|
||||
+ 'AaBb' + rec.UnitId + 'AaBb' + rec.UnitName + 'AaBb' + rec.FirstOutUnit + 'AaBb' + rec.FirstInUnit
|
||||
+ 'AaBb' + rec.Mfrs + 'AaBb' + rec.OtherField1 + 'AaBb' + rec.OtherField2 + 'AaBb' + rec.OtherField3;
|
||||
if(1 == value)
|
||||
{
|
||||
str += '<img title="编辑" src="<%=path%>/js/easyui-1.3.5/themes/icons/pencil.png" style="cursor: pointer;" onclick="editMaterial(\'' + rowInfo + '\');"/> ';
|
||||
@@ -1025,7 +1050,10 @@
|
||||
SafetyStock : $.trim($("#SafetyStock").val()),
|
||||
Model : $.trim($("#Model").val()),
|
||||
Standard : $.trim($("#Standard").val()),
|
||||
Mfrs : "",
|
||||
Mfrs : $.trim($("#Mfrs").val()),
|
||||
OtherField1 : $.trim($("#OtherField1").val()),
|
||||
OtherField2 : $.trim($("#OtherField2").val()),
|
||||
OtherField3 : $.trim($("#OtherField3").val()),
|
||||
Unit : $.trim($("#Unit").val()),
|
||||
RetailPrice : $.trim($("#RetailPrice").val()),
|
||||
LowPrice : $.trim($("#LowPrice").val()),
|
||||
@@ -1136,6 +1164,10 @@
|
||||
$("#Model").val(materialInfo[2]);
|
||||
$("#Standard").val(materialInfo[10]=="undefined"?"":materialInfo[10]);
|
||||
$("#Color").val(materialInfo[3]=="undefined"?"":materialInfo[3]);
|
||||
$("#Mfrs").val(materialInfo[20]=="undefined"?"":materialInfo[20]);
|
||||
$("#OtherField1").val(materialInfo[21]=="undefined"?"":materialInfo[21]);
|
||||
$("#OtherField2").val(materialInfo[22]=="undefined"?"":materialInfo[22]);
|
||||
$("#OtherField3").val(materialInfo[23]=="undefined"?"":materialInfo[23]);
|
||||
$("#Unit").val(materialInfo[4]=="undefined"?"":materialInfo[4]);
|
||||
$("#RetailPrice").val(materialInfo[5]=="undefined"?"":materialInfo[5]);
|
||||
$("#LowPrice").val(materialInfo[6]=="undefined"?"":materialInfo[6]);
|
||||
|
||||
298
src/main/webapp/pages/materials/materialProperty.jsp
Normal file
298
src/main/webapp/pages/materials/materialProperty.jsp
Normal file
@@ -0,0 +1,298 @@
|
||||
<%@page import="com.jsh.util.Tools"%>
|
||||
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
|
||||
<%
|
||||
String path = request.getContextPath();
|
||||
String clientIp = Tools.getLocalIp(request);
|
||||
%>
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<title>商品属性</title>
|
||||
<meta charset="utf-8">
|
||||
<!-- 指定以IE8的方式来渲染 -->
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE8"/>
|
||||
<link rel="shortcut icon" href="<%=path%>/images/favicon.ico" type="image/x-icon" />
|
||||
<script type="text/javascript" src="<%=path %>/js/jquery-1.8.0.min.js"></script>
|
||||
<link rel="stylesheet" type="text/css" href="<%=path %>/js/easyui-1.3.5/themes/default/easyui.css"/>
|
||||
<link rel="stylesheet" type="text/css" href="<%=path %>/js/easyui-1.3.5/themes/icon.css"/>
|
||||
<link type="text/css" rel="stylesheet" href="<%=path %>/css/common.css" />
|
||||
<script type="text/javascript" src="<%=path %>/js/easyui-1.3.5/jquery.easyui.min.js"></script>
|
||||
<script type="text/javascript" src="<%=path %>/js/easyui-1.3.5/locale/easyui-lang-zh_CN.js"></script>
|
||||
<script type="text/javascript" src="<%=path %>/js/common/common.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<!-- 查询 -->
|
||||
<div id = "searchPanel" class="easyui-panel" style="padding:10px;" title="查询窗口" iconCls="icon-search" collapsible="true" closable="false">
|
||||
<table id="searchTable">
|
||||
<tr>
|
||||
<td>名称:</td>
|
||||
<td>
|
||||
<input name="searchNativeName" id="searchNativeName" style="width:120px;"/>
|
||||
</td>
|
||||
<td> </td>
|
||||
<td>
|
||||
<a href="javascript:void(0)" class="easyui-linkbutton" iconCls="icon-search" id="searchBtn">查询</a>
|
||||
<a href="javascript:void(0)" class="easyui-linkbutton" iconCls="icon-redo" id="searchResetBtn">重置</a>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<!-- 数据显示table -->
|
||||
<div id = "tablePanel" class="easyui-panel" style="padding:1px;top:300px;" title="商品属性列表" iconCls="icon-list" collapsible="true" closable="false">
|
||||
<table id="tableData" style="top:300px;border-bottom-color:#FFFFFF"></table>
|
||||
</div>
|
||||
|
||||
<div id="materialPropertyDlg" class="easyui-dialog" style="width:380px;padding:10px 20px"
|
||||
closed="true" buttons="#dlg-buttons" modal="true" cache="false" collapsible="false" closable="true">
|
||||
<form id="materialPropertyFM" method="post" novalidate>
|
||||
<table>
|
||||
<tr>
|
||||
<td>名称</td>
|
||||
<td style="padding:5px">
|
||||
<span id="nativeName" />
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>是否启用</td>
|
||||
<td style="padding:5px">
|
||||
<input name="enabled" id="enabled" type="checkbox" style="width: 50px;height: 20px"/>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>排序</td>
|
||||
<td style="padding:5px">
|
||||
<input name="sort" id="sort" class="easyui-validatebox" data-options="required:true,validType:'length[2,30]'" style="width: 230px;height: 20px"/>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>别名</td>
|
||||
<td style="padding:5px">
|
||||
<input name="anotherName" id="anotherName" class="easyui-validatebox" data-options="validType:'length[2,30]'" style="width: 230px;height: 20px"/>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<input type="hidden" name="clientIp" id="clientIp" value="<%=clientIp %>"/>
|
||||
</form>
|
||||
</div>
|
||||
<div id="dlg-buttons">
|
||||
<a href="javascript:void(0)" id="saveMaterialProperty" class="easyui-linkbutton" iconCls="icon-ok">保存</a>
|
||||
<a href="javascript:void(0)" id="cancelMaterialProperty" class="easyui-linkbutton" iconCls="icon-cancel" onclick="javascript:$('#materialPropertyDlg').dialog('close')">取消</a>
|
||||
</div>
|
||||
|
||||
<script type="text/javascript">
|
||||
//初始化界面
|
||||
$(function() {
|
||||
initTableData();
|
||||
ininPager();
|
||||
initForm();
|
||||
});
|
||||
|
||||
//防止表单提交重复
|
||||
function initForm() {
|
||||
$('#materialPropertyFM').form({
|
||||
onSubmit: function(){
|
||||
return false;
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
//初始化表格数据
|
||||
function initTableData() {
|
||||
$('#tableData').datagrid({
|
||||
height:heightInfo,
|
||||
nowrap: false,
|
||||
rownumbers: true,
|
||||
//动画效果
|
||||
animate:false,
|
||||
//选中单行
|
||||
singleSelect : true,
|
||||
collapsible:false,
|
||||
selectOnCheck:false,
|
||||
//fitColumns:true,
|
||||
//单击行是否选中
|
||||
//checkOnSelect : false,
|
||||
url:'<%=path %>/materialProperty/findBy.action?pageSize=' + initPageSize,
|
||||
pagination: false,
|
||||
//交替出现背景
|
||||
striped : true,
|
||||
//loadFilter: pagerFilter,
|
||||
columns:[[
|
||||
{ field: 'id',width:10,align:"center",hidden:true},
|
||||
{ title: '名称',field: 'nativeName',width:100},
|
||||
{ title: '是否启用',field: 'enabled',width:100,formatter:function(value,rec){
|
||||
if(rec.enabled){
|
||||
return "启用";
|
||||
}
|
||||
else {
|
||||
return "禁用";
|
||||
}
|
||||
}},
|
||||
{ title: '排序',field: 'sort',width:100},
|
||||
{ title: '别名',field: 'anotherName',width:100},
|
||||
{ title: '操作',field: 'op',align:"center",width:80,formatter:function(value,rec)
|
||||
{
|
||||
var str = '';
|
||||
var rowInfo = rec.id + 'AaBb' + rec.nativeName + 'AaBb' + rec.enabled + 'AaBb' + rec.sort + 'AaBb' + rec.anotherName;
|
||||
str += '<img src="<%=path%>/js/easyui-1.3.5/themes/icons/pencil.png" style="cursor: pointer;" onclick="editMaterialProperty(\'' + rowInfo + '\');"/> <a onclick="editMaterialProperty(\'' + rowInfo + '\');" style="text-decoration:none;color:black;" href="javascript:void(0)">编辑</a> ';
|
||||
return str;
|
||||
}
|
||||
}
|
||||
]],
|
||||
onLoadError:function()
|
||||
{
|
||||
$.messager.alert('页面加载提示','页面加载异常,请稍后再试!','error');
|
||||
return;
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
//初始化键盘enter事件
|
||||
$(document).keydown(function(event) {
|
||||
//兼容 IE和firefox 事件
|
||||
var e = window.event || event;
|
||||
var k = e.keyCode||e.which||e.charCode;
|
||||
//兼容 IE,firefox 兼容
|
||||
var obj = e.srcElement ? e.srcElement : e.target;
|
||||
//绑定键盘事件为 id是指定的输入框才可以触发键盘事件 13键盘事件 ---遗留问题 enter键效验 对话框会关闭问题
|
||||
if(k == "13"&&(obj.id=="nativeName")) {
|
||||
$("#saveMaterialProperty").click();
|
||||
}
|
||||
//搜索按钮添加快捷键
|
||||
if(k == "13"&&(obj.id=="searchNativeName")) {
|
||||
$("#searchBtn").click();
|
||||
}
|
||||
});
|
||||
//分页信息处理
|
||||
function ininPager() {
|
||||
try
|
||||
{
|
||||
var opts = $("#tableData").datagrid('options');
|
||||
var pager = $("#tableData").datagrid('getPager');
|
||||
pager.pagination({
|
||||
onSelectPage:function(pageNum, pageSize) {
|
||||
opts.pageNumber = pageNum;
|
||||
opts.pageSize = pageSize;
|
||||
pager.pagination('refresh', {
|
||||
pageNumber:pageNum,
|
||||
pageSize:pageSize
|
||||
});
|
||||
showMaterialPropertyDetails(pageNum,pageSize);
|
||||
}
|
||||
});
|
||||
}
|
||||
catch (e)
|
||||
{
|
||||
$.messager.alert('异常处理提示',"分页信息异常 : " + e.name + ": " + e.message,'error');
|
||||
}
|
||||
}
|
||||
|
||||
//增加
|
||||
var url;
|
||||
|
||||
//保存信息
|
||||
$("#saveMaterialProperty").unbind().bind({
|
||||
click:function() {
|
||||
if(!$('#materialPropertyFM').form('validate'))
|
||||
return;
|
||||
else {
|
||||
$.ajax({
|
||||
type:"post",
|
||||
url: url,
|
||||
dataType: "json",
|
||||
async : false,
|
||||
data: ({
|
||||
nativeName : $.trim($("#nativeName").val()),
|
||||
enabled : $("#enabled").is(':checked'),
|
||||
sort : $.trim($("#sort").val()),
|
||||
anotherName : $.trim($("#anotherName").val()),
|
||||
clientIp:'<%=clientIp %>'
|
||||
}),
|
||||
success: function (tipInfo) {
|
||||
if(tipInfo) {
|
||||
$('#materialPropertyDlg').dialog('close');
|
||||
var opts = $("#tableData").datagrid('options');
|
||||
showMaterialPropertyDetails(opts.pageNumber,opts.pageSize);
|
||||
}
|
||||
else {
|
||||
$.messager.show({
|
||||
title: '错误提示',
|
||||
msg: '保存商品属性失败,请稍后重试!'
|
||||
});
|
||||
}
|
||||
},
|
||||
//此处添加错误处理
|
||||
error:function() {
|
||||
$.messager.alert('提示','保存商品属性异常,请稍后再试!','error');
|
||||
return;
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
//编辑信息
|
||||
function editMaterialProperty(totalInfo) {
|
||||
var materialPropertyInfo = totalInfo.split("AaBb");
|
||||
|
||||
$("#clientIp").val('<%=clientIp %>');
|
||||
$("#nativeName").text(materialPropertyInfo[1]);
|
||||
$("#enabled").attr("checked",materialPropertyInfo[2]=='true'?true:false);
|
||||
$("#sort").val(materialPropertyInfo[3]);
|
||||
$("#anotherName").val(materialPropertyInfo[4]);
|
||||
|
||||
$('#materialPropertyDlg').dialog('open').dialog('setTitle','<img src="<%=path%>/js/easyui-1.3.5/themes/icons/pencil.png"/> 编辑商品属性');
|
||||
$(".window-mask").css({ width: webW ,height: webH});
|
||||
//焦点在名称输入框==定焦在输入文字后面
|
||||
$("#nativeName").val("").focus().val(materialPropertyInfo[1]);
|
||||
url = '<%=path %>/materialProperty/update.action?id=' + materialPropertyInfo[0];
|
||||
}
|
||||
|
||||
//搜索处理
|
||||
$("#searchBtn").unbind().bind({
|
||||
click:function()
|
||||
{
|
||||
showMaterialPropertyDetails(1,initPageSize);
|
||||
var opts = $("#tableData").datagrid('options');
|
||||
var pager = $("#tableData").datagrid('getPager');
|
||||
opts.pageNumber = 1;
|
||||
opts.pageSize = initPageSize;
|
||||
pager.pagination('refresh', {
|
||||
pageNumber:1,
|
||||
pageSize:initPageSize
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
function showMaterialPropertyDetails(pageNo,pageSize) {
|
||||
$.ajax({
|
||||
type:"post",
|
||||
url: "<%=path %>/materialProperty/findBy.action",
|
||||
dataType: "json",
|
||||
data: ({
|
||||
nativeName:$.trim($("#searchNativeName").val()),
|
||||
pageNo:pageNo,
|
||||
pageSize:pageSize
|
||||
}),
|
||||
success: function (data) {
|
||||
$("#tableData").datagrid('loadData',data);
|
||||
},
|
||||
//此处添加错误处理
|
||||
error:function()
|
||||
{
|
||||
$.messager.alert('查询提示','查询数据后台异常,请稍后再试!','error');
|
||||
return;
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
//重置按钮
|
||||
$("#searchResetBtn").off().on("click",function(){
|
||||
$("#searchNativeName").val("");
|
||||
//加载完以后重新初始化
|
||||
$("#searchBtn").click();
|
||||
});
|
||||
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
Reference in New Issue
Block a user