给商品扩展表增加‘是否默认基础单位’字段

This commit is contained in:
季圣华
2020-04-25 11:39:16 +08:00
parent 2965a441b7
commit 5774580b0b
9 changed files with 630 additions and 16 deletions

View File

@@ -20,6 +20,8 @@ public class MaterialExtend {
private BigDecimal lowDecimal;
private String defaultFlag;
private Date createTime;
private String createSerial;
@@ -96,6 +98,14 @@ public class MaterialExtend {
this.lowDecimal = lowDecimal;
}
public String getDefaultFlag() {
return defaultFlag;
}
public void setDefaultFlag(String defaultFlag) {
this.defaultFlag = defaultFlag == null ? null : defaultFlag.trim();
}
public Date getCreateTime() {
return createTime;
}

View File

@@ -606,6 +606,76 @@ public class MaterialExtendExample {
return (Criteria) this;
}
public Criteria andDefaultFlagIsNull() {
addCriterion("default_flag is null");
return (Criteria) this;
}
public Criteria andDefaultFlagIsNotNull() {
addCriterion("default_flag is not null");
return (Criteria) this;
}
public Criteria andDefaultFlagEqualTo(String value) {
addCriterion("default_flag =", value, "defaultFlag");
return (Criteria) this;
}
public Criteria andDefaultFlagNotEqualTo(String value) {
addCriterion("default_flag <>", value, "defaultFlag");
return (Criteria) this;
}
public Criteria andDefaultFlagGreaterThan(String value) {
addCriterion("default_flag >", value, "defaultFlag");
return (Criteria) this;
}
public Criteria andDefaultFlagGreaterThanOrEqualTo(String value) {
addCriterion("default_flag >=", value, "defaultFlag");
return (Criteria) this;
}
public Criteria andDefaultFlagLessThan(String value) {
addCriterion("default_flag <", value, "defaultFlag");
return (Criteria) this;
}
public Criteria andDefaultFlagLessThanOrEqualTo(String value) {
addCriterion("default_flag <=", value, "defaultFlag");
return (Criteria) this;
}
public Criteria andDefaultFlagLike(String value) {
addCriterion("default_flag like", value, "defaultFlag");
return (Criteria) this;
}
public Criteria andDefaultFlagNotLike(String value) {
addCriterion("default_flag not like", value, "defaultFlag");
return (Criteria) this;
}
public Criteria andDefaultFlagIn(List<String> values) {
addCriterion("default_flag in", values, "defaultFlag");
return (Criteria) this;
}
public Criteria andDefaultFlagNotIn(List<String> values) {
addCriterion("default_flag not in", values, "defaultFlag");
return (Criteria) this;
}
public Criteria andDefaultFlagBetween(String value1, String value2) {
addCriterion("default_flag between", value1, value2, "defaultFlag");
return (Criteria) this;
}
public Criteria andDefaultFlagNotBetween(String value1, String value2) {
addCriterion("default_flag not between", value1, value2, "defaultFlag");
return (Criteria) this;
}
public Criteria andCreateTimeIsNull() {
addCriterion("create_time is null");
return (Criteria) this;

View File

@@ -75,7 +75,7 @@ public class MaterialExtendService {
}
@Transactional(value = "transactionManager", rollbackFor = Exception.class)
public String saveDetials(String inserted, String deleted, String updated,Long materialId) throws Exception {
public String saveDetials(String inserted, String deleted, String updated, String sortList, Long materialId) throws Exception {
HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest();
logService.insertLog("商品价格扩展",
BusinessConstants.LOG_OPERATION_TYPE_ADD, request);
@@ -83,6 +83,7 @@ public class MaterialExtendService {
JSONArray insertedJson = JSONArray.parseArray(inserted);
JSONArray deletedJson = JSONArray.parseArray(deleted);
JSONArray updatedJson = JSONArray.parseArray(updated);
JSONArray sortJson = JSONArray.parseArray(sortList);
if (null != insertedJson) {
for (int i = 0; i < insertedJson.size(); i++) {
MaterialExtend materialExtend = new MaterialExtend();
@@ -143,7 +144,39 @@ public class MaterialExtendService {
if (StringUtils.isNotEmpty(tempUpdatedJson.getString("LowDecimal"))) {
materialExtend.setLowDecimal(tempUpdatedJson.getBigDecimal("LowDecimal"));
}
this.updateMaterialExtend(materialExtend, request);
this.updateMaterialExtend(materialExtend);
}
}
//处理条码的排序,基础单位排第一个
if (null != sortJson && sortJson.size()>0) {
//此处为更新的逻辑
for (int i = 0; i < sortJson.size(); i++) {
JSONObject tempSortJson = JSONObject.parseObject(sortJson.getString(i));
MaterialExtend materialExtend = new MaterialExtend();
if(StringUtil.isExist(tempSortJson.get("id"))) {
materialExtend.setId(tempSortJson.getLong("id"));
}
if(StringUtil.isExist(tempSortJson.get("defaultFlag"))) {
materialExtend.setDefaultFlag(tempSortJson.getString("defaultFlag"));
}
this.updateMaterialExtend(materialExtend);
}
} else {
//新增的时候将第一条记录设置为默认基础单位
MaterialExtendExample example = new MaterialExtendExample();
example.createCriteria().andMaterialIdEqualTo(materialId).andDeleteFlagNotEqualTo(BusinessConstants.DELETE_FLAG_DELETED);
List<MaterialExtend> meList = materialExtendMapper.selectByExample(example);
if(meList!=null) {
for(int i=0; i<meList.size(); i++) {
MaterialExtend materialExtend = new MaterialExtend();
materialExtend.setId(meList.get(i).getId());
if(i==0) {
materialExtend.setDefaultFlag("1"); //默认
} else {
materialExtend.setDefaultFlag("0"); //非默认
}
this.updateMaterialExtend(materialExtend);
}
}
}
return null;
@@ -167,9 +200,9 @@ public class MaterialExtendService {
}
@Transactional(value = "transactionManager", rollbackFor = Exception.class)
public int updateMaterialExtend(MaterialExtend MaterialExtend, HttpServletRequest request) throws Exception{
public int updateMaterialExtend(MaterialExtend MaterialExtend) throws Exception{
User user = userService.getCurrentUser();
MaterialExtend.setUpdateTime(new Date().getTime());
MaterialExtend.setUpdateTime(System.currentTimeMillis());
MaterialExtend.setUpdateSerial(user.getLoginName());
int res =0;
try{

View File

@@ -157,7 +157,7 @@ public class MaterialService {
mId = materials.get(0).getId();
}
JSONObject mObj = JSON.parseObject(beanJson);
materialExtendService.saveDetials(mObj.getString("inserted"), mObj.getString("deleted"), mObj.getString("updated"), mId);
materialExtendService.saveDetials(mObj.getString("inserted"), mObj.getString("deleted"), mObj.getString("updated"),mObj.getString("sortList"), mId);
if(mObj.get("stock")!=null) {
String stockStr = mObj.getString("stock");
JSONArray stockArr = JSONArray.parseArray(stockStr);
@@ -193,7 +193,7 @@ public class MaterialService {
materialMapperEx.updateUnitIdNullByPrimaryKey(id); //将多单位置空
}
JSONObject mObj = JSON.parseObject(beanJson);
materialExtendService.saveDetials(mObj.getString("inserted"),mObj.getString("deleted"),mObj.getString("updated"),id);
materialExtendService.saveDetials(mObj.getString("inserted"),mObj.getString("deleted"),mObj.getString("updated"),mObj.getString("sortList"),id);
if(mObj.get("stock")!=null) {
String stockStr = mObj.getString("stock");
JSONArray stockArr = JSONArray.parseArray(stockStr);

View File

@@ -10,6 +10,7 @@
<result column="commodity_decimal" jdbcType="DECIMAL" property="commodityDecimal" />
<result column="wholesale_decimal" jdbcType="DECIMAL" property="wholesaleDecimal" />
<result column="low_decimal" jdbcType="DECIMAL" property="lowDecimal" />
<result column="default_flag" jdbcType="VARCHAR" property="defaultFlag" />
<result column="create_time" jdbcType="TIMESTAMP" property="createTime" />
<result column="create_serial" jdbcType="VARCHAR" property="createSerial" />
<result column="update_serial" jdbcType="VARCHAR" property="updateSerial" />
@@ -77,7 +78,8 @@
</sql>
<sql id="Base_Column_List">
id, material_id, bar_code, commodity_unit, purchase_decimal, commodity_decimal, wholesale_decimal,
low_decimal, create_time, create_serial, update_serial, update_time, tenant_id, delete_Flag
low_decimal, default_flag, create_time, create_serial, update_serial, update_time,
tenant_id, delete_Flag
</sql>
<select id="selectByExample" parameterType="com.jsh.erp.datasource.entities.MaterialExtendExample" resultMap="BaseResultMap">
select
@@ -112,14 +114,16 @@
<insert id="insert" parameterType="com.jsh.erp.datasource.entities.MaterialExtend">
insert into jsh_material_extend (id, material_id, bar_code,
commodity_unit, purchase_decimal, commodity_decimal,
wholesale_decimal, low_decimal, create_time,
create_serial, update_serial, update_time,
tenant_id, delete_Flag)
wholesale_decimal, low_decimal, default_flag,
create_time, create_serial, update_serial,
update_time, tenant_id, delete_Flag
)
values (#{id,jdbcType=BIGINT}, #{materialId,jdbcType=BIGINT}, #{barCode,jdbcType=VARCHAR},
#{commodityUnit,jdbcType=VARCHAR}, #{purchaseDecimal,jdbcType=DECIMAL}, #{commodityDecimal,jdbcType=DECIMAL},
#{wholesaleDecimal,jdbcType=DECIMAL}, #{lowDecimal,jdbcType=DECIMAL}, #{createTime,jdbcType=TIMESTAMP},
#{createSerial,jdbcType=VARCHAR}, #{updateSerial,jdbcType=VARCHAR}, #{updateTime,jdbcType=BIGINT},
#{tenantId,jdbcType=BIGINT}, #{deleteFlag,jdbcType=VARCHAR})
#{wholesaleDecimal,jdbcType=DECIMAL}, #{lowDecimal,jdbcType=DECIMAL}, #{defaultFlag,jdbcType=VARCHAR},
#{createTime,jdbcType=TIMESTAMP}, #{createSerial,jdbcType=VARCHAR}, #{updateSerial,jdbcType=VARCHAR},
#{updateTime,jdbcType=BIGINT}, #{tenantId,jdbcType=BIGINT}, #{deleteFlag,jdbcType=VARCHAR}
)
</insert>
<insert id="insertSelective" parameterType="com.jsh.erp.datasource.entities.MaterialExtend">
insert into jsh_material_extend
@@ -148,6 +152,9 @@
<if test="lowDecimal != null">
low_decimal,
</if>
<if test="defaultFlag != null">
default_flag,
</if>
<if test="createTime != null">
create_time,
</if>
@@ -192,6 +199,9 @@
<if test="lowDecimal != null">
#{lowDecimal,jdbcType=DECIMAL},
</if>
<if test="defaultFlag != null">
#{defaultFlag,jdbcType=VARCHAR},
</if>
<if test="createTime != null">
#{createTime,jdbcType=TIMESTAMP},
</if>
@@ -245,6 +255,9 @@
<if test="record.lowDecimal != null">
low_decimal = #{record.lowDecimal,jdbcType=DECIMAL},
</if>
<if test="record.defaultFlag != null">
default_flag = #{record.defaultFlag,jdbcType=VARCHAR},
</if>
<if test="record.createTime != null">
create_time = #{record.createTime,jdbcType=TIMESTAMP},
</if>
@@ -278,6 +291,7 @@
commodity_decimal = #{record.commodityDecimal,jdbcType=DECIMAL},
wholesale_decimal = #{record.wholesaleDecimal,jdbcType=DECIMAL},
low_decimal = #{record.lowDecimal,jdbcType=DECIMAL},
default_flag = #{record.defaultFlag,jdbcType=VARCHAR},
create_time = #{record.createTime,jdbcType=TIMESTAMP},
create_serial = #{record.createSerial,jdbcType=VARCHAR},
update_serial = #{record.updateSerial,jdbcType=VARCHAR},
@@ -312,6 +326,9 @@
<if test="lowDecimal != null">
low_decimal = #{lowDecimal,jdbcType=DECIMAL},
</if>
<if test="defaultFlag != null">
default_flag = #{defaultFlag,jdbcType=VARCHAR},
</if>
<if test="createTime != null">
create_time = #{createTime,jdbcType=TIMESTAMP},
</if>
@@ -342,6 +359,7 @@
commodity_decimal = #{commodityDecimal,jdbcType=DECIMAL},
wholesale_decimal = #{wholesaleDecimal,jdbcType=DECIMAL},
low_decimal = #{lowDecimal,jdbcType=DECIMAL},
default_flag = #{defaultFlag,jdbcType=VARCHAR},
create_time = #{createTime,jdbcType=TIMESTAMP},
create_serial = #{createSerial,jdbcType=VARCHAR},
update_serial = #{updateSerial,jdbcType=VARCHAR},

View File

@@ -10,7 +10,7 @@
from jsh_material_extend d
where d.material_id = '${materialId}'
and ifnull(d.delete_Flag,'0') !='1'
order by d.id asc
order by d.default_flag desc,d.id asc
</select>
<select id="getMaxTimeByTenantAndTime" resultType="java.lang.Long">