Commit 37c64788 authored by 乾坤平台's avatar 乾坤平台 Committed by 季圣华
Browse files

!22 添加出库时开启序列号的商品强制附加使用序列号

Merge pull request !22 from 乾坤平台/master
parents b55e9d15 88f4420d
...@@ -33,7 +33,7 @@ public class SerialNumber { ...@@ -33,7 +33,7 @@ public class SerialNumber {
* *
* @mbggenerated * @mbggenerated
*/ */
private Boolean isSell; private String isSell;
/** /**
* This field was generated by MyBatis Generator. * This field was generated by MyBatis Generator.
...@@ -49,7 +49,7 @@ public class SerialNumber { ...@@ -49,7 +49,7 @@ public class SerialNumber {
* *
* @mbggenerated * @mbggenerated
*/ */
private Boolean deleteFlag; private String deleteFlag;
/** /**
* This field was generated by MyBatis Generator. * This field was generated by MyBatis Generator.
...@@ -82,6 +82,10 @@ public class SerialNumber { ...@@ -82,6 +82,10 @@ public class SerialNumber {
* @mbggenerated * @mbggenerated
*/ */
private Long updater; private Long updater;
/**
* 单据主表id,用于跟踪序列号流向
* */
private Long depotheadId;
/** /**
* This method was generated by MyBatis Generator. * This method was generated by MyBatis Generator.
...@@ -163,7 +167,7 @@ public class SerialNumber { ...@@ -163,7 +167,7 @@ public class SerialNumber {
* *
* @mbggenerated * @mbggenerated
*/ */
public Boolean getIsSell() { public String getIsSell() {
return isSell; return isSell;
} }
...@@ -175,7 +179,7 @@ public class SerialNumber { ...@@ -175,7 +179,7 @@ public class SerialNumber {
* *
* @mbggenerated * @mbggenerated
*/ */
public void setIsSell(Boolean isSell) { public void setIsSell(String isSell) {
this.isSell = isSell; this.isSell = isSell;
} }
...@@ -211,7 +215,7 @@ public class SerialNumber { ...@@ -211,7 +215,7 @@ public class SerialNumber {
* *
* @mbggenerated * @mbggenerated
*/ */
public Boolean getDeleteFlag() { public String getDeleteFlag() {
return deleteFlag; return deleteFlag;
} }
...@@ -223,7 +227,7 @@ public class SerialNumber { ...@@ -223,7 +227,7 @@ public class SerialNumber {
* *
* @mbggenerated * @mbggenerated
*/ */
public void setDeleteFlag(Boolean deleteFlag) { public void setDeleteFlag(String deleteFlag) {
this.deleteFlag = deleteFlag; this.deleteFlag = deleteFlag;
} }
...@@ -322,4 +326,13 @@ public class SerialNumber { ...@@ -322,4 +326,13 @@ public class SerialNumber {
public void setUpdater(Long updater) { public void setUpdater(Long updater) {
this.updater = updater; this.updater = updater;
} }
public Long getDepotheadId() {
return depotheadId;
}
public void setDepotheadId(Long depotheadId) {
this.depotheadId = depotheadId;
}
} }
\ No newline at end of file
...@@ -395,52 +395,61 @@ public class SerialNumberExample { ...@@ -395,52 +395,61 @@ public class SerialNumberExample {
return (Criteria) this; return (Criteria) this;
} }
public Criteria andIsSellEqualTo(Boolean value) { public Criteria andIsSellEqualTo(String value) {
addCriterion("is_Sell =", value, "isSell"); addCriterion("is_Sell =", value, "isSell");
return (Criteria) this; return (Criteria) this;
} }
public Criteria andIsSellNotEqualTo(Boolean value) { public Criteria andIsSellNotEqualTo(String value) {
addCriterion("is_Sell <>", value, "isSell"); addCriterion("is_Sell <>", value, "isSell");
return (Criteria) this; return (Criteria) this;
} }
public Criteria andIsSellGreaterThan(Boolean value) { public Criteria andIsSellGreaterThan(String value) {
addCriterion("is_Sell >", value, "isSell"); addCriterion("is_Sell >", value, "isSell");
return (Criteria) this; return (Criteria) this;
} }
public Criteria andIsSellGreaterThanOrEqualTo(Boolean value) { public Criteria andIsSellGreaterThanOrEqualTo(String value) {
addCriterion("is_Sell >=", value, "isSell"); addCriterion("is_Sell >=", value, "isSell");
return (Criteria) this; return (Criteria) this;
} }
public Criteria andIsSellLessThan(Boolean value) { public Criteria andIsSellLessThan(String value) {
addCriterion("is_Sell <", value, "isSell"); addCriterion("is_Sell <", value, "isSell");
return (Criteria) this; return (Criteria) this;
} }
public Criteria andIsSellLessThanOrEqualTo(Boolean value) { public Criteria andIsSellLessThanOrEqualTo(String value) {
addCriterion("is_Sell <=", value, "isSell"); addCriterion("is_Sell <=", value, "isSell");
return (Criteria) this; return (Criteria) this;
} }
public Criteria andIsSellIn(List<Boolean> values) { public Criteria andIsSellLike(String value) {
addCriterion("isSell like", value, "isSell");
return (Criteria) this;
}
public Criteria andIsSellNotLike(String value) {
addCriterion("isSell not like", value, "isSell");
return (Criteria) this;
}
public Criteria andIsSellIn(List<String> values) {
addCriterion("is_Sell in", values, "isSell"); addCriterion("is_Sell in", values, "isSell");
return (Criteria) this; return (Criteria) this;
} }
public Criteria andIsSellNotIn(List<Boolean> values) { public Criteria andIsSellNotIn(List<String> values) {
addCriterion("is_Sell not in", values, "isSell"); addCriterion("is_Sell not in", values, "isSell");
return (Criteria) this; return (Criteria) this;
} }
public Criteria andIsSellBetween(Boolean value1, Boolean value2) { public Criteria andIsSellBetween(String value1, String value2) {
addCriterion("is_Sell between", value1, value2, "isSell"); addCriterion("is_Sell between", value1, value2, "isSell");
return (Criteria) this; return (Criteria) this;
} }
public Criteria andIsSellNotBetween(Boolean value1, Boolean value2) { public Criteria andIsSellNotBetween(String value1, String value2) {
addCriterion("is_Sell not between", value1, value2, "isSell"); addCriterion("is_Sell not between", value1, value2, "isSell");
return (Criteria) this; return (Criteria) this;
} }
...@@ -525,52 +534,59 @@ public class SerialNumberExample { ...@@ -525,52 +534,59 @@ public class SerialNumberExample {
return (Criteria) this; return (Criteria) this;
} }
public Criteria andDeleteFlagEqualTo(Boolean value) { public Criteria andDeleteFlagEqualTo(String value) {
addCriterion("delete_Flag =", value, "deleteFlag"); addCriterion("delete_Flag =", value, "deleteFlag");
return (Criteria) this; return (Criteria) this;
} }
public Criteria andDeleteFlagNotEqualTo(Boolean value) { public Criteria andDeleteFlagNotEqualTo(String value) {
addCriterion("delete_Flag <>", value, "deleteFlag"); addCriterion("delete_Flag <>", value, "deleteFlag");
return (Criteria) this; return (Criteria) this;
} }
public Criteria andDeleteFlagGreaterThan(Boolean value) { public Criteria andDeleteFlagGreaterThan(String value) {
addCriterion("delete_Flag >", value, "deleteFlag"); addCriterion("delete_Flag >", value, "deleteFlag");
return (Criteria) this; return (Criteria) this;
} }
public Criteria andDeleteFlagGreaterThanOrEqualTo(Boolean value) { public Criteria andDeleteFlagGreaterThanOrEqualTo(String value) {
addCriterion("delete_Flag >=", value, "deleteFlag"); addCriterion("delete_Flag >=", value, "deleteFlag");
return (Criteria) this; return (Criteria) this;
} }
public Criteria andDeleteFlagLessThan(Boolean value) { public Criteria andDeleteFlagLessThan(String value) {
addCriterion("delete_Flag <", value, "deleteFlag"); addCriterion("delete_Flag <", value, "deleteFlag");
return (Criteria) this; return (Criteria) this;
} }
public Criteria andDeleteFlagLessThanOrEqualTo(Boolean value) { public Criteria andDeleteFlagLessThanOrEqualTo(String value) {
addCriterion("delete_Flag <=", value, "deleteFlag"); addCriterion("delete_Flag <=", value, "deleteFlag");
return (Criteria) this; return (Criteria) this;
} }
public Criteria andDeleteFlagLike(String value) {
public Criteria andDeleteFlagIn(List<Boolean> values) { addCriterion("deleteFlag like", value, "deleteFlag");
return (Criteria) this;
}
public Criteria andDeleteFlagNotLike(String value) {
addCriterion("deleteFlag not like", value, "deleteFlag");
return (Criteria) this;
}
public Criteria andDeleteFlagIn(List<String> values) {
addCriterion("delete_Flag in", values, "deleteFlag"); addCriterion("delete_Flag in", values, "deleteFlag");
return (Criteria) this; return (Criteria) this;
} }
public Criteria andDeleteFlagNotIn(List<Boolean> values) { public Criteria andDeleteFlagNotIn(List<String> values) {
addCriterion("delete_Flag not in", values, "deleteFlag"); addCriterion("delete_Flag not in", values, "deleteFlag");
return (Criteria) this; return (Criteria) this;
} }
public Criteria andDeleteFlagBetween(Boolean value1, Boolean value2) { public Criteria andDeleteFlagBetween(String value1, String value2) {
addCriterion("delete_Flag between", value1, value2, "deleteFlag"); addCriterion("delete_Flag between", value1, value2, "deleteFlag");
return (Criteria) this; return (Criteria) this;
} }
public Criteria andDeleteFlagNotBetween(Boolean value1, Boolean value2) { public Criteria andDeleteFlagNotBetween(String value1, String value2) {
addCriterion("delete_Flag not between", value1, value2, "deleteFlag"); addCriterion("delete_Flag not between", value1, value2, "deleteFlag");
return (Criteria) this; return (Criteria) this;
} }
...@@ -814,6 +830,68 @@ public class SerialNumberExample { ...@@ -814,6 +830,68 @@ public class SerialNumberExample {
addCriterion("updater not between", value1, value2, "updater"); addCriterion("updater not between", value1, value2, "updater");
return (Criteria) this; return (Criteria) this;
} }
public Criteria andDepotheadIdIsNull() {
addCriterion("depotheadId is null");
return (Criteria) this;
}
public Criteria andDepotheadIdIsNotNull() {
addCriterion("depotheadId is not null");
return (Criteria) this;
}
public Criteria andDepotheadIdEqualTo(Long value) {
addCriterion("depotheadId =", value, "depotheadId");
return (Criteria) this;
}
public Criteria andDepotheadIdNotEqualTo(Long value) {
addCriterion("depotheadId <>", value, "depotheadId");
return (Criteria) this;
}
public Criteria andDepotheadIdGreaterThan(Long value) {
addCriterion("depotheadId >", value, "depotheadId");
return (Criteria) this;
}
public Criteria andDepotheadIdGreaterThanOrEqualTo(Long value) {
addCriterion("depotheadId >=", value, "depotheadId");
return (Criteria) this;
}
public Criteria andDepotheadIdLessThan(Long value) {
addCriterion("depotheadId <", value, "depotheadId");
return (Criteria) this;
}
public Criteria andDepotheadIdLessThanOrEqualTo(Long value) {
addCriterion("depotheadId <=", value, "depotheadId");
return (Criteria) this;
}
public Criteria andDepotheadIdIn(List<Long> values) {
addCriterion("depotheadId in", values, "depotheadId");
return (Criteria) this;
}
public Criteria andDepotheadIdNotIn(List<Long> values) {
addCriterion("depotheadId not in", values, "depotheadId");
return (Criteria) this;
}
public Criteria andDepotheadIdBetween(Long value1, Long value2) {
addCriterion("depotheadId between", value1, value2, "depotheadId");
return (Criteria) this;
}
public Criteria andDepotheadIdNotBetween(Long value1, Long value2) {
addCriterion("depotheadId not between", value1, value2, "depotheadId");
return (Criteria) this;
}
} }
/** /**
......
...@@ -101,87 +101,6 @@ public interface DepotHeadMapper { ...@@ -101,87 +101,6 @@ public interface DepotHeadMapper {
*/ */
int updateByPrimaryKey(DepotHead record); int updateByPrimaryKey(DepotHead record);
List<DepotHeadVo4List> selectByConditionDepotHead(
@Param("type") String type,
@Param("subType") String subType,
@Param("number") String number,
@Param("beginTime") String beginTime,
@Param("endTime") String endTime,
@Param("dhIds") String dhIds,
@Param("offset") Integer offset,
@Param("rows") Integer rows);
int countsByDepotHead(
@Param("type") String type,
@Param("subType") String subType,
@Param("number") String number,
@Param("beginTime") String beginTime,
@Param("endTime") String endTime,
@Param("dhIds") String dhIds);
Long getMaxId();
String findMaterialsListByHeaderId(
@Param("id") Long id);
List<DepotHeadVo4InDetail> findByAll(
@Param("beginTime") String beginTime,
@Param("endTime") String endTime,
@Param("type") String type,
@Param("pid") Integer pid,
@Param("dids") String dids,
@Param("oId") Integer oId,
@Param("offset") Integer offset,
@Param("rows") Integer rows);
int findByAllCount(
@Param("beginTime") String beginTime,
@Param("endTime") String endTime,
@Param("type") String type,
@Param("pid") Integer pid,
@Param("dids") String dids,
@Param("oId") Integer oId);
List<DepotHeadVo4InOutMCount> findInOutMaterialCount(
@Param("beginTime") String beginTime,
@Param("endTime") String endTime,
@Param("type") String type,
@Param("pid") Integer pid,
@Param("dids") String dids,
@Param("oId") Integer oId,
@Param("offset") Integer offset,
@Param("rows") Integer rows);
int findInOutMaterialCountTotal(
@Param("beginTime") String beginTime,
@Param("endTime") String endTime,
@Param("type") String type,
@Param("pid") Integer pid,
@Param("dids") String dids,
@Param("oId") Integer oId);
List<DepotHeadVo4StatementAccount> findStatementAccount(
@Param("beginTime") String beginTime,
@Param("endTime") String endTime,
@Param("organId") Integer organId,
@Param("supType") String supType,
@Param("offset") Integer offset,
@Param("rows") Integer rows);
int findStatementAccountCount(
@Param("beginTime") String beginTime,
@Param("endTime") String endTime,
@Param("organId") Integer organId,
@Param("supType") String supType);
BigDecimal findAllMoney(
@Param("supplierId") Integer supplierId,
@Param("type") String type,
@Param("subType") String subType,
@Param("modeName") String modeName,
@Param("endTime") String endTime);
List<DepotHeadVo4List> getDetailByNumber(
@Param("number") String number);
} }
\ No newline at end of file
package com.jsh.erp.datasource.mappers;
import com.jsh.erp.datasource.entities.DepotHead;
import com.jsh.erp.datasource.vo.DepotHeadVo4InDetail;
import com.jsh.erp.datasource.vo.DepotHeadVo4InOutMCount;
import com.jsh.erp.datasource.vo.DepotHeadVo4List;
import com.jsh.erp.datasource.vo.DepotHeadVo4StatementAccount;
import org.apache.ibatis.annotations.Param;
import java.math.BigDecimal;
import java.util.List;
/**
* Description
*
* @Author: cjl
* @Date: 2019/1/25 14:50
*/
public interface DepotHeadMapperEx {
List<DepotHeadVo4List> selectByConditionDepotHead(
@Param("type") String type,
@Param("subType") String subType,
@Param("number") String number,
@Param("beginTime") String beginTime,
@Param("endTime") String endTime,
@Param("dhIds") String dhIds,
@Param("offset") Integer offset,
@Param("rows") Integer rows);
int countsByDepotHead(
@Param("type") String type,
@Param("subType") String subType,
@Param("number") String number,
@Param("beginTime") String beginTime,
@Param("endTime") String endTime,
@Param("dhIds") String dhIds);
Long getMaxId();
String findMaterialsListByHeaderId(
@Param("id") Long id);
List<DepotHeadVo4InDetail> findByAll(
@Param("beginTime") String beginTime,
@Param("endTime") String endTime,
@Param("type") String type,
@Param("pid") Integer pid,
@Param("dids") String dids,
@Param("oId") Integer oId,
@Param("offset") Integer offset,
@Param("rows") Integer rows);
int findByAllCount(
@Param("beginTime") String beginTime,
@Param("endTime") String endTime,
@Param("type") String type,
@Param("pid") Integer pid,
@Param("dids") String dids,
@Param("oId") Integer oId);
List<DepotHeadVo4InOutMCount> findInOutMaterialCount(
@Param("beginTime") String beginTime,
@Param("endTime") String endTime,
@Param("type") String type,
@Param("pid") Integer pid,
@Param("dids") String dids,
@Param("oId") Integer oId,
@Param("offset") Integer offset,
@Param("rows") Integer rows);
int findInOutMaterialCountTotal(
@Param("beginTime") String beginTime,
@Param("endTime") String endTime,
@Param("type") String type,
@Param("pid") Integer pid,
@Param("dids") String dids,
@Param("oId") Integer oId);
List<DepotHeadVo4StatementAccount> findStatementAccount(
@Param("beginTime") String beginTime,
@Param("endTime") String endTime,
@Param("organId") Integer organId,
@Param("supType") String supType,
@Param("offset") Integer offset,
@Param("rows") Integer rows);
int findStatementAccountCount(
@Param("beginTime") String beginTime,
@Param("endTime") String endTime,
@Param("organId") Integer organId,
@Param("supType") String supType);
BigDecimal findAllMoney(
@Param("supplierId") Integer supplierId,
@Param("type") String type,
@Param("subType") String subType,
@Param("modeName") String modeName,
@Param("endTime") String endTime);
List<DepotHeadVo4List> getDetailByNumber(
@Param("number") String number);
/**
* 新增单据主表信息,并反显单据主表id
* */
int adddepotHead(DepotHead depotHead);
/**
* 更新单据主表信息
* */
void updatedepotHead(DepotHead depotHead);
}
...@@ -96,123 +96,6 @@ public interface DepotItemMapper { ...@@ -96,123 +96,6 @@ public interface DepotItemMapper {
*/ */
int updateByPrimaryKey(DepotItem record); int updateByPrimaryKey(DepotItem record);
List<DepotItem> selectByConditionDepotItem(
@Param("name") String name,
@Param("type") Integer type,
@Param("remark") String remark,
@Param("offset") Integer offset,
@Param("rows") Integer rows);
int countsByDepotItem(
@Param("name") String name,
@Param("type") Integer type,
@Param("remark") String remark);
List<DepotItemVo4HeaderId> getHeaderIdByMaterial(
@Param("materialParam") String materialParam,
@Param("depotIds") String depotIds);
List<DepotItemVo4DetailByTypeAndMId> findDetailByTypeAndMaterialIdList(
@Param("mId") Long mId,
@Param("offset") Integer offset,
@Param("rows") Integer rows);
int findDetailByTypeAndMaterialIdCounts(
@Param("mId") Long mId);
List<DepotItemVo4Material> findStockNumByMaterialIdList(
@Param("mId") Long mId,
@Param("monthTime") String monthTime,
@Param("offset") Integer offset,
@Param("rows") Integer rows);
int findStockNumByMaterialIdCounts(
@Param("mId") Long mId,
@Param("monthTime") String monthTime);
int findByTypeAndMaterialIdIn(
@Param("mId") Long mId);
int findByTypeAndMaterialIdOut(
@Param("mId") Long mId);
List<DepotItemVo4WithInfoEx> getDetailList(
@Param("headerId") Long headerId);
List<DepotItemVo4WithInfoEx> findByAll(
@Param("headIds") String headIds,
@Param("materialIds") String materialIds,
@Param("offset") Integer offset,
@Param("rows") Integer rows);
int findByAllCount(
@Param("headIds") String headIds,
@Param("materialIds") String materialIds);
BigDecimal findByTypeInIsPrev(
@Param("ProjectId") Integer ProjectId,
@Param("MId") Long MId,
@Param("MonthTime") String MonthTime);
BigDecimal findByTypeInIsNotPrev(
@Param("ProjectId") Integer ProjectId,
@Param("MId") Long MId,
@Param("MonthTime") String MonthTime);
BigDecimal findByTypeOutIsPrev(
@Param("ProjectId") Integer ProjectId,
@Param("MId") Long MId,
@Param("MonthTime") String MonthTime);
BigDecimal findByTypeOutIsNotPrev(
@Param("ProjectId") Integer ProjectId,
@Param("MId") Long MId,
@Param("MonthTime") String MonthTime);
BigDecimal findPriceByTypeInIsPrev(
@Param("ProjectId") Integer ProjectId,
@Param("MId") Long MId,
@Param("MonthTime") String MonthTime);
BigDecimal findPriceByTypeInIsNotPrev(
@Param("ProjectId") Integer ProjectId,
@Param("MId") Long MId,
@Param("MonthTime") String MonthTime);
BigDecimal findPriceByTypeOutIsPrev(
@Param("ProjectId") Integer ProjectId,
@Param("MId") Long MId,
@Param("MonthTime") String MonthTime);
BigDecimal findPriceByTypeOutIsNotPrev(
@Param("ProjectId") Integer ProjectId,
@Param("MId") Long MId,
@Param("MonthTime") String MonthTime);
BigDecimal buyOrSaleNumber(
@Param("type") String type,
@Param("subType") String subType,
@Param("MId") Long MId,
@Param("MonthTime") String MonthTime,
@Param("sumType") String sumType);
BigDecimal buyOrSalePrice(
@Param("type") String type,
@Param("subType") String subType,
@Param("MId") Long MId,
@Param("MonthTime") String MonthTime,
@Param("sumType") String sumType);
BigDecimal findGiftByTypeIn(
@Param("subType") String subType,
@Param("ProjectId") Integer ProjectId,
@Param("MId") Long MId);
BigDecimal findGiftByTypeOut(
@Param("subType") String subType,
@Param("ProjectId") Integer ProjectId,
@Param("MId") Long MId);
} }
\ No newline at end of file
package com.jsh.erp.datasource.mappers;
import com.jsh.erp.datasource.entities.*;
import org.apache.ibatis.annotations.Param;
import java.math.BigDecimal;
import java.util.List;
/**
* Description
*
* @Author: cjl
* @Date: 2019/1/24 16:59
*/
public interface DepotItemMapperEx {
List<DepotItem> selectByConditionDepotItem(
@Param("name") String name,
@Param("type") Integer type,
@Param("remark") String remark,
@Param("offset") Integer offset,
@Param("rows") Integer rows);
int countsByDepotItem(
@Param("name") String name,
@Param("type") Integer type,
@Param("remark") String remark);
List<DepotItemVo4HeaderId> getHeaderIdByMaterial(
@Param("materialParam") String materialParam,
@Param("depotIds") String depotIds);
List<DepotItemVo4DetailByTypeAndMId> findDetailByTypeAndMaterialIdList(
@Param("mId") Long mId,
@Param("offset") Integer offset,
@Param("rows") Integer rows);
int findDetailByTypeAndMaterialIdCounts(
@Param("mId") Long mId);
List<DepotItemVo4Material> findStockNumByMaterialIdList(
@Param("mId") Long mId,
@Param("monthTime") String monthTime,
@Param("offset") Integer offset,
@Param("rows") Integer rows);
int findStockNumByMaterialIdCounts(
@Param("mId") Long mId,
@Param("monthTime") String monthTime);
int findByTypeAndMaterialIdIn(
@Param("mId") Long mId);
int findByTypeAndMaterialIdOut(
@Param("mId") Long mId);
List<DepotItemVo4WithInfoEx> getDetailList(
@Param("headerId") Long headerId);
List<DepotItemVo4WithInfoEx> findByAll(
@Param("headIds") String headIds,
@Param("materialIds") String materialIds,
@Param("offset") Integer offset,
@Param("rows") Integer rows);
int findByAllCount(
@Param("headIds") String headIds,
@Param("materialIds") String materialIds);
BigDecimal findByTypeInIsPrev(
@Param("ProjectId") Integer ProjectId,
@Param("MId") Long MId,
@Param("MonthTime") String MonthTime);
BigDecimal findByTypeInIsNotPrev(
@Param("ProjectId") Integer ProjectId,
@Param("MId") Long MId,
@Param("MonthTime") String MonthTime);
BigDecimal findByTypeOutIsPrev(
@Param("ProjectId") Integer ProjectId,
@Param("MId") Long MId,
@Param("MonthTime") String MonthTime);
BigDecimal findByTypeOutIsNotPrev(
@Param("ProjectId") Integer ProjectId,
@Param("MId") Long MId,
@Param("MonthTime") String MonthTime);
BigDecimal findPriceByTypeInIsPrev(
@Param("ProjectId") Integer ProjectId,
@Param("MId") Long MId,
@Param("MonthTime") String MonthTime);
BigDecimal findPriceByTypeInIsNotPrev(
@Param("ProjectId") Integer ProjectId,
@Param("MId") Long MId,
@Param("MonthTime") String MonthTime);
BigDecimal findPriceByTypeOutIsPrev(
@Param("ProjectId") Integer ProjectId,
@Param("MId") Long MId,
@Param("MonthTime") String MonthTime);
BigDecimal findPriceByTypeOutIsNotPrev(
@Param("ProjectId") Integer ProjectId,
@Param("MId") Long MId,
@Param("MonthTime") String MonthTime);
BigDecimal buyOrSaleNumber(
@Param("type") String type,
@Param("subType") String subType,
@Param("MId") Long MId,
@Param("MonthTime") String MonthTime,
@Param("sumType") String sumType);
BigDecimal buyOrSalePrice(
@Param("type") String type,
@Param("subType") String subType,
@Param("MId") Long MId,
@Param("MonthTime") String MonthTime,
@Param("sumType") String sumType);
BigDecimal findGiftByTypeIn(
@Param("subType") String subType,
@Param("ProjectId") Integer ProjectId,
@Param("MId") Long MId);
BigDecimal findGiftByTypeOut(
@Param("subType") String subType,
@Param("ProjectId") Integer ProjectId,
@Param("MId") Long MId);
/**
* create by: cjl
* description:
* 通过单据主表id查询所有单据子表数据
* create time: 2019/1/24 16:56
* @Param: depotheadId
* @return java.util.List<com.jsh.erp.datasource.entities.DepotItem>
*/
List<DepotItem> findDepotItemListBydepotheadId(@Param("depotheadId")Long depotheadId,
@Param("enableSerialNumber")String enableSerialNumber);
/**
* 根据单据主表id删除单据子表数据
* */
int deleteDepotItemByDepotHeadIds(@Param("depotheadIds")Long []depotHeadIds);
}
package com.jsh.erp.datasource.mappers; package com.jsh.erp.datasource.mappers;
import com.jsh.erp.datasource.entities.SerialNumber;
import com.jsh.erp.datasource.entities.SerialNumberEx; import com.jsh.erp.datasource.entities.SerialNumberEx;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
import java.util.Date;
import java.util.List; import java.util.List;
/** /**
...@@ -42,4 +42,22 @@ public interface SerialNumberMapperEx { ...@@ -42,4 +42,22 @@ public interface SerialNumberMapperEx {
* 未删除为卖出的视为有效 * 未删除为卖出的视为有效
* */ * */
int findSerialNumberByMaterialId(@Param("materialId") Long materialId); int findSerialNumberByMaterialId(@Param("materialId") Long materialId);
/**
* 查询符合条件的序列号数量
* */
int countSerialNumberByMaterialIdAndDepotheadId(@Param("materialId")Long materialId, @Param("depotheadId")Long depotheadId, @Param("isSell")String isSell);
/**
* 卖出: update jsh_serial_number set is_Sell='1' ,depothead_Id='depotheadId' where 1=1 and material_Id='materialId'
* and is_Sell !='1' and delete_Flag !='1' {limit 0,count}
* */
int sellSerialNumber(@Param("materialId")Long materialId, @Param("depotheadId")Long depotheadId,@Param("count")Integer count, @Param("updateTime") Date updateTime,@Param("updater") Long updater);
/**
* 赎回:update jsh_serial_number set is_Sell='0' where 1=1 and material_Id='materialId'
* and depothead_Id='depotheadId' and is_Sell !='0' and delete_Flag !='1' {limit 0,count}
* */
int cancelSerialNumber(@Param("materialId")Long materialId, @Param("depotheadId")Long depotheadId, @Param("count")Integer count, @Param("updateTime") Date updateTime,@Param("updater") Long updater);
/**
* 批量添加序列号
* */
int batAddSerialNumber(@Param("list") List<SerialNumberEx> list);
} }
...@@ -2,14 +2,22 @@ package com.jsh.erp.service.depotHead; ...@@ -2,14 +2,22 @@ package com.jsh.erp.service.depotHead;
import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.jsh.erp.constants.BusinessConstants;
import com.jsh.erp.datasource.entities.DepotHead; import com.jsh.erp.datasource.entities.DepotHead;
import com.jsh.erp.datasource.entities.DepotHeadExample; import com.jsh.erp.datasource.entities.DepotHeadExample;
import com.jsh.erp.datasource.entities.DepotItem;
import com.jsh.erp.datasource.entities.User; import com.jsh.erp.datasource.entities.User;
import com.jsh.erp.datasource.mappers.DepotHeadMapper; import com.jsh.erp.datasource.mappers.DepotHeadMapper;
import com.jsh.erp.datasource.mappers.DepotHeadMapperEx;
import com.jsh.erp.datasource.mappers.DepotItemMapperEx;
import com.jsh.erp.datasource.vo.DepotHeadVo4InDetail; import com.jsh.erp.datasource.vo.DepotHeadVo4InDetail;
import com.jsh.erp.datasource.vo.DepotHeadVo4InOutMCount; import com.jsh.erp.datasource.vo.DepotHeadVo4InOutMCount;
import com.jsh.erp.datasource.vo.DepotHeadVo4List; import com.jsh.erp.datasource.vo.DepotHeadVo4List;
import com.jsh.erp.datasource.vo.DepotHeadVo4StatementAccount; import com.jsh.erp.datasource.vo.DepotHeadVo4StatementAccount;
import com.jsh.erp.service.depotItem.DepotItemService;
import com.jsh.erp.service.serialNumber.SerialNumberService;
import com.jsh.erp.service.supplier.SupplierService;
import com.jsh.erp.service.user.UserService;
import com.jsh.erp.utils.StringUtil; import com.jsh.erp.utils.StringUtil;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
...@@ -33,6 +41,19 @@ public class DepotHeadService { ...@@ -33,6 +41,19 @@ public class DepotHeadService {
@Resource @Resource
private DepotHeadMapper depotHeadMapper; private DepotHeadMapper depotHeadMapper;
@Resource
private DepotHeadMapperEx depotHeadMapperEx;
@Resource
private UserService userService;
@Resource
DepotItemService depotItemService;
@Resource
private SupplierService supplierService;
@Resource
private SerialNumberService serialNumberService;
@Resource
DepotItemMapperEx depotItemMapperEx;
public DepotHead getDepotHead(long id) { public DepotHead getDepotHead(long id) {
return depotHeadMapper.selectByPrimaryKey(id); return depotHeadMapper.selectByPrimaryKey(id);
...@@ -45,7 +66,7 @@ public class DepotHeadService { ...@@ -45,7 +66,7 @@ public class DepotHeadService {
public List<DepotHeadVo4List> select(String type, String subType, String number, String beginTime, String endTime, String dhIds, int offset, int rows) { public List<DepotHeadVo4List> select(String type, String subType, String number, String beginTime, String endTime, String dhIds, int offset, int rows) {
List<DepotHeadVo4List> resList = new ArrayList<DepotHeadVo4List>(); List<DepotHeadVo4List> resList = new ArrayList<DepotHeadVo4List>();
List<DepotHeadVo4List> list = depotHeadMapper.selectByConditionDepotHead(type, subType, number, beginTime, endTime, dhIds, offset, rows); List<DepotHeadVo4List> list = depotHeadMapperEx.selectByConditionDepotHead(type, subType, number, beginTime, endTime, dhIds, offset, rows);
if (null != list) { if (null != list) {
for (DepotHeadVo4List dh : list) { for (DepotHeadVo4List dh : list) {
if(dh.getOthermoneylist() != null) { if(dh.getOthermoneylist() != null) {
...@@ -73,7 +94,7 @@ public class DepotHeadService { ...@@ -73,7 +94,7 @@ public class DepotHeadService {
public int countDepotHead(String type, String subType, String number, String beginTime, String endTime, String dhIds) { public int countDepotHead(String type, String subType, String number, String beginTime, String endTime, String dhIds) {
return depotHeadMapper.countsByDepotHead(type, subType, number, beginTime, endTime, dhIds); return depotHeadMapperEx.countsByDepotHead(type, subType, number, beginTime, endTime, dhIds);
} }
@Transactional(value = "transactionManager", rollbackFor = Exception.class) @Transactional(value = "transactionManager", rollbackFor = Exception.class)
...@@ -169,11 +190,11 @@ public class DepotHeadService { ...@@ -169,11 +190,11 @@ public class DepotHeadService {
} }
public Long getMaxId() { public Long getMaxId() {
return depotHeadMapper.getMaxId(); return depotHeadMapperEx.getMaxId();
} }
public String findMaterialsListByHeaderId(Long id) { public String findMaterialsListByHeaderId(Long id) {
String allReturn = depotHeadMapper.findMaterialsListByHeaderId(id); String allReturn = depotHeadMapperEx.findMaterialsListByHeaderId(id);
return allReturn; return allReturn;
} }
...@@ -194,27 +215,27 @@ public class DepotHeadService { ...@@ -194,27 +215,27 @@ public class DepotHeadService {
} }
public List<DepotHeadVo4InDetail> findByAll(String beginTime, String endTime, String type, Integer pid, String dids, Integer oId, Integer offset, Integer rows) { public List<DepotHeadVo4InDetail> findByAll(String beginTime, String endTime, String type, Integer pid, String dids, Integer oId, Integer offset, Integer rows) {
return depotHeadMapper.findByAll(beginTime, endTime, type, pid, dids, oId, offset, rows); return depotHeadMapperEx.findByAll(beginTime, endTime, type, pid, dids, oId, offset, rows);
} }
public int findByAllCount(String beginTime, String endTime, String type, Integer pid, String dids, Integer oId) { public int findByAllCount(String beginTime, String endTime, String type, Integer pid, String dids, Integer oId) {
return depotHeadMapper.findByAllCount(beginTime, endTime, type, pid, dids, oId); return depotHeadMapperEx.findByAllCount(beginTime, endTime, type, pid, dids, oId);
} }
public List<DepotHeadVo4InOutMCount> findInOutMaterialCount(String beginTime, String endTime, String type, Integer pid, String dids, Integer oId, Integer offset, Integer rows) { public List<DepotHeadVo4InOutMCount> findInOutMaterialCount(String beginTime, String endTime, String type, Integer pid, String dids, Integer oId, Integer offset, Integer rows) {
return depotHeadMapper.findInOutMaterialCount(beginTime, endTime, type, pid, dids, oId, offset, rows); return depotHeadMapperEx.findInOutMaterialCount(beginTime, endTime, type, pid, dids, oId, offset, rows);
} }
public int findInOutMaterialCountTotal(String beginTime, String endTime, String type, Integer pid, String dids, Integer oId) { public int findInOutMaterialCountTotal(String beginTime, String endTime, String type, Integer pid, String dids, Integer oId) {
return depotHeadMapper.findInOutMaterialCountTotal(beginTime, endTime, type, pid, dids, oId); return depotHeadMapperEx.findInOutMaterialCountTotal(beginTime, endTime, type, pid, dids, oId);
} }
public List<DepotHeadVo4StatementAccount> findStatementAccount(String beginTime, String endTime, Integer organId, String supType, Integer offset, Integer rows) { public List<DepotHeadVo4StatementAccount> findStatementAccount(String beginTime, String endTime, Integer organId, String supType, Integer offset, Integer rows) {
return depotHeadMapper.findStatementAccount(beginTime, endTime, organId, supType, offset, rows); return depotHeadMapperEx.findStatementAccount(beginTime, endTime, organId, supType, offset, rows);
} }
public int findStatementAccountCount(String beginTime, String endTime, Integer organId, String supType) { public int findStatementAccountCount(String beginTime, String endTime, Integer organId, String supType) {
return depotHeadMapper.findStatementAccountCount(beginTime, endTime, organId, supType); return depotHeadMapperEx.findStatementAccountCount(beginTime, endTime, organId, supType);
} }
public BigDecimal findAllMoney(Integer supplierId, String type, String subType, String mode, String endTime) { public BigDecimal findAllMoney(Integer supplierId, String type, String subType, String mode, String endTime) {
...@@ -224,12 +245,12 @@ public class DepotHeadService { ...@@ -224,12 +245,12 @@ public class DepotHeadService {
} else if (mode.equals("合计")) { } else if (mode.equals("合计")) {
modeName = "DiscountLastMoney"; modeName = "DiscountLastMoney";
} }
return depotHeadMapper.findAllMoney(supplierId, type, subType, modeName, endTime); return depotHeadMapperEx.findAllMoney(supplierId, type, subType, modeName, endTime);
} }
public List<DepotHeadVo4List> getDetailByNumber(String number) { public List<DepotHeadVo4List> getDetailByNumber(String number) {
List<DepotHeadVo4List> resList = new ArrayList<DepotHeadVo4List>(); List<DepotHeadVo4List> resList = new ArrayList<DepotHeadVo4List>();
List<DepotHeadVo4List> list = depotHeadMapper.getDetailByNumber(number); List<DepotHeadVo4List> list = depotHeadMapperEx.getDetailByNumber(number);
if (null != list) { if (null != list) {
for (DepotHeadVo4List dh : list) { for (DepotHeadVo4List dh : list) {
if(dh.getOthermoneylist() != null) { if(dh.getOthermoneylist() != null) {
...@@ -254,4 +275,115 @@ public class DepotHeadService { ...@@ -254,4 +275,115 @@ public class DepotHeadService {
return resList; return resList;
} }
/**
* create by: cjl
* description:
* 新增单据主表及单据子表信息
* create time: 2019/1/25 14:36
* @Param: beanJson
 * @Param: inserted
 * @Param: deleted
 * @Param: updated
* @return java.lang.String
*/
@Transactional(value = "transactionManager", rollbackFor = Exception.class)
public void addDepotHeadAndDetail(String beanJson, String inserted, String deleted, String updated) throws Exception {
/**处理单据主表数据*/
DepotHead depotHead = JSONObject.parseObject(beanJson, DepotHead.class);
//判断用户是否已经登录过,登录过不再处理
User userInfo=userService.getCurrentUser();
depotHead.setOperpersonname(userInfo==null?null:userInfo.getUsername());
depotHead.setCreatetime(new Timestamp(System.currentTimeMillis()));
depotHead.setStatus(false);
depotHeadMapperEx.adddepotHead(depotHead);
/**入库和出库处理预付款信息*/
if(BusinessConstants.PAY_TYPE_PREPAID.equals(depotHead.getPaytype())){
if(depotHead.getOrganid()!=null) {
supplierService.updateAdvanceIn(depotHead.getOrganid(), BigDecimal.ZERO.subtract(depotHead.getTotalprice()));
}
}
/**入库和出库处理单据子表信息*/
depotItemService.saveDetials(inserted,deleted,updated,depotHead.getId());
}
/**
* create by: cjl
* description:
* 更新单据主表及单据子表信息
* create time: 2019/1/28 14:47
* @Param: id
 * @Param: beanJson
 * @Param: inserted
 * @Param: deleted
 * @Param: updated
 * @Param: preTotalPrice
* @return java.lang.Object
*/
@Transactional(value = "transactionManager", rollbackFor = Exception.class)
public void updateDepotHeadAndDetail(Long id, String beanJson, String inserted, String deleted, String updated, BigDecimal preTotalPrice)throws Exception {
/**更新单据主表信息*/
DepotHead depotHead = JSONObject.parseObject(beanJson, DepotHead.class);
//判断用户是否已经登录过,登录过不再处理
depotHead.setId(id);
User userInfo=userService.getCurrentUser();
depotHead.setOperpersonname(userInfo==null?null:userInfo.getUsername());
depotHead.setOpertime(new Timestamp(System.currentTimeMillis()));
depotHeadMapperEx.updatedepotHead(depotHead);
/**入库和出库处理预付款信息*/
if(BusinessConstants.PAY_TYPE_PREPAID.equals(depotHead.getPaytype())){
if(depotHead.getOrganid()!=null){
supplierService.updateAdvanceIn(depotHead.getOrganid(), BigDecimal.ZERO.subtract(depotHead.getTotalprice().subtract(preTotalPrice)));
}
}
/**入库和出库处理单据子表信息*/
depotItemService.saveDetials(inserted,deleted,updated,depotHead.getId());
}
/**
* create by: cjl
* description:
* 删除单据主表及子表信息
* create time: 2019/1/28 17:29
* @Param: id
* @return java.lang.Object
*/
@Transactional(value = "transactionManager", rollbackFor = Exception.class)
public void deleteDepotHeadAndDetail(Long id) throws Exception {
//查询单据主表信息
DepotHead depotHead =getDepotHead(id);
User userInfo=userService.getCurrentUser();
//删除出库数据回收序列号
if(BusinessConstants.DEPOTHEAD_TYPE_OUT.equals(depotHead.getType())
&&!BusinessConstants.SUB_TYPE_TRANSFER.equals(depotHead.getSubtype())){
//查询单据子表列表
List<DepotItem> depotItemList = depotItemMapperEx.findDepotItemListBydepotheadId(id,BusinessConstants.ENABLE_SERIAL_NUMBER_ENABLED);
/**回收序列号*/
if(depotItemList!=null&&depotItemList.size()>0){
for(DepotItem depotItem:depotItemList){
serialNumberService.cancelSerialNumber(depotItem.getMaterialid(), depotItem.getHeaderid(),depotItem.getOpernumber().intValue(),userInfo);
}
}
}
/**删除单据子表数据*/
depotItemMapperEx.deleteDepotItemByDepotHeadIds(new Long []{id});
/**删除单据主表信息*/
deleteDepotHead(id);
}
/**
* create by: cjl
* description:
* 批量删除单据主表及子表信息
* create time: 2019/1/28 17:29
* @Param: id
* @return java.lang.Object
*/
@Transactional(value = "transactionManager", rollbackFor = Exception.class)
public void batchDeleteDepotHeadAndDetail(String ids) throws Exception{
if(StringUtil.isNotEmpty(ids)){
String [] headIds=ids.split(",");
for(int i=0;i<headIds.length;i++){
deleteDepotHeadAndDetail(new Long(headIds[i]));
}
}
}
} }
...@@ -2,9 +2,15 @@ package com.jsh.erp.service.depotItem; ...@@ -2,9 +2,15 @@ package com.jsh.erp.service.depotItem;
import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.jsh.erp.constants.BusinessConstants;
import com.jsh.erp.datasource.entities.*; import com.jsh.erp.datasource.entities.*;
import com.jsh.erp.datasource.mappers.DepotHeadMapper;
import com.jsh.erp.datasource.mappers.DepotItemMapper; import com.jsh.erp.datasource.mappers.DepotItemMapper;
import com.jsh.erp.datasource.mappers.DepotItemMapperEx;
import com.jsh.erp.datasource.mappers.SerialNumberMapperEx;
import com.jsh.erp.service.material.MaterialService; import com.jsh.erp.service.material.MaterialService;
import com.jsh.erp.service.serialNumber.SerialNumberService;
import com.jsh.erp.service.user.UserService;
import com.jsh.erp.utils.ErpInfo; import com.jsh.erp.utils.ErpInfo;
import com.jsh.erp.utils.QueryUtils; import com.jsh.erp.utils.QueryUtils;
import com.jsh.erp.utils.StringUtil; import com.jsh.erp.utils.StringUtil;
...@@ -17,6 +23,7 @@ import org.springframework.transaction.annotation.Transactional; ...@@ -17,6 +23,7 @@ import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource; import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.util.Date;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
...@@ -34,7 +41,17 @@ public class DepotItemService { ...@@ -34,7 +41,17 @@ public class DepotItemService {
@Resource @Resource
private DepotItemMapper depotItemMapper; private DepotItemMapper depotItemMapper;
@Resource @Resource
private DepotItemMapperEx depotItemMapperEx;
@Resource
private MaterialService materialService; private MaterialService materialService;
@Resource
SerialNumberMapperEx serialNumberMapperEx;
@Resource
private DepotHeadMapper depotHeadMapper;
@Resource
SerialNumberService serialNumberService;
@Resource
private UserService userService;
public DepotItem getDepotItem(long id) { public DepotItem getDepotItem(long id) {
return depotItemMapper.selectByPrimaryKey(id); return depotItemMapper.selectByPrimaryKey(id);
...@@ -46,11 +63,11 @@ public class DepotItemService { ...@@ -46,11 +63,11 @@ public class DepotItemService {
} }
public List<DepotItem> select(String name, Integer type, String remark, int offset, int rows) { public List<DepotItem> select(String name, Integer type, String remark, int offset, int rows) {
return depotItemMapper.selectByConditionDepotItem(name, type, remark, offset, rows); return depotItemMapperEx.selectByConditionDepotItem(name, type, remark, offset, rows);
} }
public int countDepotItem(String name, Integer type, String remark) { public int countDepotItem(String name, Integer type, String remark) {
return depotItemMapper.countsByDepotItem(name, type, remark); return depotItemMapperEx.countsByDepotItem(name, type, remark);
} }
@Transactional(value = "transactionManager", rollbackFor = Exception.class) @Transactional(value = "transactionManager", rollbackFor = Exception.class)
...@@ -87,7 +104,7 @@ public class DepotItemService { ...@@ -87,7 +104,7 @@ public class DepotItemService {
} }
public List<DepotItemVo4HeaderId> getHeaderIdByMaterial(String materialParam, String depotIds) { public List<DepotItemVo4HeaderId> getHeaderIdByMaterial(String materialParam, String depotIds) {
return depotItemMapper.getHeaderIdByMaterial(materialParam, depotIds); return depotItemMapperEx.getHeaderIdByMaterial(materialParam, depotIds);
} }
public List<DepotItemVo4DetailByTypeAndMId> findDetailByTypeAndMaterialIdList(Map<String, String> map) { public List<DepotItemVo4DetailByTypeAndMId> findDetailByTypeAndMaterialIdList(Map<String, String> map) {
...@@ -96,7 +113,7 @@ public class DepotItemService { ...@@ -96,7 +113,7 @@ public class DepotItemService {
if(!StringUtil.isEmpty(mIdStr)) { if(!StringUtil.isEmpty(mIdStr)) {
mId = Long.parseLong(mIdStr); mId = Long.parseLong(mIdStr);
} }
return depotItemMapper.findDetailByTypeAndMaterialIdList(mId, QueryUtils.offset(map), QueryUtils.rows(map)); return depotItemMapperEx.findDetailByTypeAndMaterialIdList(mId, QueryUtils.offset(map), QueryUtils.rows(map));
} }
public int findDetailByTypeAndMaterialIdCounts(Map<String, String> map) { public int findDetailByTypeAndMaterialIdCounts(Map<String, String> map) {
...@@ -105,7 +122,7 @@ public class DepotItemService { ...@@ -105,7 +122,7 @@ public class DepotItemService {
if(!StringUtil.isEmpty(mIdStr)) { if(!StringUtil.isEmpty(mIdStr)) {
mId = Long.parseLong(mIdStr); mId = Long.parseLong(mIdStr);
} }
return depotItemMapper.findDetailByTypeAndMaterialIdCounts(mId); return depotItemMapperEx.findDetailByTypeAndMaterialIdCounts(mId);
} }
public List<DepotItemVo4Material> findStockNumByMaterialIdList(Map<String, String> map) { public List<DepotItemVo4Material> findStockNumByMaterialIdList(Map<String, String> map) {
...@@ -115,7 +132,7 @@ public class DepotItemService { ...@@ -115,7 +132,7 @@ public class DepotItemService {
mId = Long.parseLong(mIdStr); mId = Long.parseLong(mIdStr);
} }
String monthTime = map.get("monthTime"); String monthTime = map.get("monthTime");
return depotItemMapper.findStockNumByMaterialIdList(mId, monthTime, QueryUtils.offset(map), QueryUtils.rows(map)); return depotItemMapperEx.findStockNumByMaterialIdList(mId, monthTime, QueryUtils.offset(map), QueryUtils.rows(map));
} }
public int findStockNumByMaterialIdCounts(Map<String, String> map) { public int findStockNumByMaterialIdCounts(Map<String, String> map) {
...@@ -125,7 +142,7 @@ public class DepotItemService { ...@@ -125,7 +142,7 @@ public class DepotItemService {
mId = Long.parseLong(mIdStr); mId = Long.parseLong(mIdStr);
} }
String monthTime = map.get("monthTime"); String monthTime = map.get("monthTime");
return depotItemMapper.findStockNumByMaterialIdCounts(mId, monthTime); return depotItemMapperEx.findStockNumByMaterialIdCounts(mId, monthTime);
} }
@Transactional(value = "transactionManager", rollbackFor = Exception.class) @Transactional(value = "transactionManager", rollbackFor = Exception.class)
...@@ -140,36 +157,36 @@ public class DepotItemService { ...@@ -140,36 +157,36 @@ public class DepotItemService {
public int findByTypeAndMaterialId(String type, Long mId) { public int findByTypeAndMaterialId(String type, Long mId) {
if(type.equals(TYPE)) { if(type.equals(TYPE)) {
return depotItemMapper.findByTypeAndMaterialIdIn(mId); return depotItemMapperEx.findByTypeAndMaterialIdIn(mId);
} else { } else {
return depotItemMapper.findByTypeAndMaterialIdOut(mId); return depotItemMapperEx.findByTypeAndMaterialIdOut(mId);
} }
} }
public List<DepotItemVo4WithInfoEx> getDetailList(Long headerId) { public List<DepotItemVo4WithInfoEx> getDetailList(Long headerId) {
return depotItemMapper.getDetailList(headerId); return depotItemMapperEx.getDetailList(headerId);
} }
public List<DepotItemVo4WithInfoEx> findByAll(String headIds, String materialIds, Integer offset, Integer rows) { public List<DepotItemVo4WithInfoEx> findByAll(String headIds, String materialIds, Integer offset, Integer rows) {
return depotItemMapper.findByAll(headIds, materialIds, offset, rows); return depotItemMapperEx.findByAll(headIds, materialIds, offset, rows);
} }
public int findByAllCount(String headIds, String materialIds) { public int findByAllCount(String headIds, String materialIds) {
return depotItemMapper.findByAllCount(headIds, materialIds); return depotItemMapperEx.findByAllCount(headIds, materialIds);
} }
public BigDecimal findByType(String type, Integer ProjectId, Long MId, String MonthTime, Boolean isPrev) { public BigDecimal findByType(String type, Integer ProjectId, Long MId, String MonthTime, Boolean isPrev) {
if (TYPE.equals(type)) { if (TYPE.equals(type)) {
if (isPrev) { if (isPrev) {
return depotItemMapper.findByTypeInIsPrev(ProjectId, MId, MonthTime); return depotItemMapperEx.findByTypeInIsPrev(ProjectId, MId, MonthTime);
} else { } else {
return depotItemMapper.findByTypeInIsNotPrev(ProjectId, MId, MonthTime); return depotItemMapperEx.findByTypeInIsNotPrev(ProjectId, MId, MonthTime);
} }
} else { } else {
if (isPrev) { if (isPrev) {
return depotItemMapper.findByTypeOutIsPrev(ProjectId, MId, MonthTime); return depotItemMapperEx.findByTypeOutIsPrev(ProjectId, MId, MonthTime);
} else { } else {
return depotItemMapper.findByTypeOutIsNotPrev(ProjectId, MId, MonthTime); return depotItemMapperEx.findByTypeOutIsNotPrev(ProjectId, MId, MonthTime);
} }
} }
} }
...@@ -177,41 +194,64 @@ public class DepotItemService { ...@@ -177,41 +194,64 @@ public class DepotItemService {
public BigDecimal findPriceByType(String type, Integer ProjectId, Long MId, String MonthTime, Boolean isPrev) { public BigDecimal findPriceByType(String type, Integer ProjectId, Long MId, String MonthTime, Boolean isPrev) {
if (TYPE.equals(type)) { if (TYPE.equals(type)) {
if (isPrev) { if (isPrev) {
return depotItemMapper.findPriceByTypeInIsPrev(ProjectId, MId, MonthTime); return depotItemMapperEx.findPriceByTypeInIsPrev(ProjectId, MId, MonthTime);
} else { } else {
return depotItemMapper.findPriceByTypeInIsNotPrev(ProjectId, MId, MonthTime); return depotItemMapperEx.findPriceByTypeInIsNotPrev(ProjectId, MId, MonthTime);
} }
} else { } else {
if (isPrev) { if (isPrev) {
return depotItemMapper.findPriceByTypeOutIsPrev(ProjectId, MId, MonthTime); return depotItemMapperEx.findPriceByTypeOutIsPrev(ProjectId, MId, MonthTime);
} else { } else {
return depotItemMapper.findPriceByTypeOutIsNotPrev(ProjectId, MId, MonthTime); return depotItemMapperEx.findPriceByTypeOutIsNotPrev(ProjectId, MId, MonthTime);
} }
} }
} }
public BigDecimal buyOrSale(String type, String subType, Long MId, String MonthTime, String sumType) { public BigDecimal buyOrSale(String type, String subType, Long MId, String MonthTime, String sumType) {
if (SUM_TYPE.equals(sumType)) { if (SUM_TYPE.equals(sumType)) {
return depotItemMapper.buyOrSaleNumber(type, subType, MId, MonthTime, sumType); return depotItemMapperEx.buyOrSaleNumber(type, subType, MId, MonthTime, sumType);
} else { } else {
return depotItemMapper.buyOrSalePrice(type, subType, MId, MonthTime, sumType); return depotItemMapperEx.buyOrSalePrice(type, subType, MId, MonthTime, sumType);
} }
} }
public BigDecimal findGiftByType(String subType, Integer ProjectId, Long MId, String type) { public BigDecimal findGiftByType(String subType, Integer ProjectId, Long MId, String type) {
if (IN.equals(type)) { if (IN.equals(type)) {
return depotItemMapper.findGiftByTypeIn(subType, ProjectId, MId); return depotItemMapperEx.findGiftByTypeIn(subType, ProjectId, MId);
} else { } else {
return depotItemMapper.findGiftByTypeOut(subType, ProjectId, MId); return depotItemMapperEx.findGiftByTypeOut(subType, ProjectId, MId);
} }
} }
@Transactional(value = "transactionManager", rollbackFor = Exception.class) @Transactional(value = "transactionManager", rollbackFor = Exception.class)
public String saveDetials(String inserted, String deleted, String updated, Long headerId) throws DataAccessException{ public String saveDetials(String inserted, String deleted, String updated, Long headerId) throws Exception{
//查询单据主表信息
DepotHead depotHead=depotHeadMapper.selectByPrimaryKey(headerId);
//获得当前操作人
User userInfo=userService.getCurrentUser();
//转为json //转为json
JSONArray insertedJson = JSONArray.parseArray(inserted); JSONArray insertedJson = JSONArray.parseArray(inserted);
JSONArray deletedJson = JSONArray.parseArray(deleted); JSONArray deletedJson = JSONArray.parseArray(deleted);
JSONArray updatedJson = JSONArray.parseArray(updated); JSONArray updatedJson = JSONArray.parseArray(updated);
/**
* 2019-01-28优先处理删除的
* 删除的可以继续卖,删除的需要将使用的序列号回收
* 插入的需要判断当前货源是否充足
* 更新的需要判断货源是否充足
* */
if (null != deletedJson) {
for (int i = 0; i < deletedJson.size(); i++) {
//首先回收序列号,如果是调拨,不用处理序列号
JSONObject tempDeletedJson = JSONObject.parseObject(deletedJson.getString(i));
if(BusinessConstants.DEPOTHEAD_TYPE_OUT.equals(depotHead.getType())
&&!BusinessConstants.SUB_TYPE_TRANSFER.equals(depotHead.getSubtype())){
DepotItem depotItem = getDepotItem(tempDeletedJson.getLong("Id"));
serialNumberMapperEx.cancelSerialNumber(depotItem.getMaterialid(),depotItem.getHeaderid(),depotItem.getOpernumber().intValue(),
new Date(),userInfo==null?null:userInfo.getId());
}
this.deleteDepotItem(tempDeletedJson.getLong("Id"));
}
}
if (null != insertedJson) { if (null != insertedJson) {
for (int i = 0; i < insertedJson.size(); i++) { for (int i = 0; i < insertedJson.size(); i++) {
DepotItem depotItem = new DepotItem(); DepotItem depotItem = new DepotItem();
...@@ -289,18 +329,25 @@ public class DepotItemService { ...@@ -289,18 +329,25 @@ public class DepotItemService {
depotItem.setMtype(tempInsertedJson.getString("MType")); depotItem.setMtype(tempInsertedJson.getString("MType"));
} }
this.insertDepotItemWithObj(depotItem); this.insertDepotItemWithObj(depotItem);
/**出库时处理序列号*/
if(BusinessConstants.DEPOTHEAD_TYPE_OUT.equals(depotHead.getType())
&&!BusinessConstants.SUB_TYPE_TRANSFER.equals(depotHead.getSubtype())){
//查询单据子表中开启序列号的数据列表
serialNumberService.checkAndUpdateSerialNumber(depotItem,userInfo);
} }
} }
if (null != deletedJson) {
for (int i = 0; i < deletedJson.size(); i++) {
JSONObject tempDeletedJson = JSONObject.parseObject(deletedJson.getString(i));
this.deleteDepotItem(tempDeletedJson.getLong("Id"));
}
} }
if (null != updatedJson) { if (null != updatedJson) {
for (int i = 0; i < updatedJson.size(); i++) { for (int i = 0; i < updatedJson.size(); i++) {
JSONObject tempUpdatedJson = JSONObject.parseObject(updatedJson.getString(i)); JSONObject tempUpdatedJson = JSONObject.parseObject(updatedJson.getString(i));
DepotItem depotItem = this.getDepotItem(tempUpdatedJson.getLong("Id")); DepotItem depotItem = this.getDepotItem(tempUpdatedJson.getLong("Id"));
//首先回收序列号
if(BusinessConstants.DEPOTHEAD_TYPE_OUT.equals(depotHead.getType())
&&!BusinessConstants.SUB_TYPE_TRANSFER.equals(depotHead.getSubtype())) {
serialNumberMapperEx.cancelSerialNumber(depotItem.getMaterialid(), depotItem.getHeaderid(), depotItem.getOpernumber().intValue(),
new Date(),userInfo==null?null:userInfo.getId());
}
depotItem.setId(tempUpdatedJson.getLong("Id")); depotItem.setId(tempUpdatedJson.getLong("Id"));
depotItem.setMaterialid(tempUpdatedJson.getLong("MaterialId")); depotItem.setMaterialid(tempUpdatedJson.getLong("MaterialId"));
depotItem.setMunit(tempUpdatedJson.getString("Unit")); depotItem.setMunit(tempUpdatedJson.getString("Unit"));
...@@ -362,6 +409,12 @@ public class DepotItemService { ...@@ -362,6 +409,12 @@ public class DepotItemService {
depotItem.setOtherfield5(tempUpdatedJson.getString("OtherField5")); depotItem.setOtherfield5(tempUpdatedJson.getString("OtherField5"));
depotItem.setMtype(tempUpdatedJson.getString("MType")); depotItem.setMtype(tempUpdatedJson.getString("MType"));
this.updateDepotItemWithObj(depotItem); this.updateDepotItemWithObj(depotItem);
/**出库时处理序列号*/
if(BusinessConstants.DEPOTHEAD_TYPE_OUT.equals(depotHead.getType())
&&!BusinessConstants.SUB_TYPE_TRANSFER.equals(depotHead.getSubtype())){
//查询单据子表中开启序列号的数据列表
serialNumberService.checkAndUpdateSerialNumber(depotItem,userInfo);
}
} }
} }
return null; return null;
...@@ -386,4 +439,5 @@ public class DepotItemService { ...@@ -386,4 +439,5 @@ public class DepotItemService {
} }
return unitName; return unitName;
} }
} }
...@@ -4,9 +4,7 @@ import com.alibaba.fastjson.JSONObject; ...@@ -4,9 +4,7 @@ import com.alibaba.fastjson.JSONObject;
import com.jsh.erp.constants.BusinessConstants; import com.jsh.erp.constants.BusinessConstants;
import com.jsh.erp.constants.ExceptionConstants; import com.jsh.erp.constants.ExceptionConstants;
import com.jsh.erp.datasource.entities.*; import com.jsh.erp.datasource.entities.*;
import com.jsh.erp.datasource.mappers.MaterialMapperEx; import com.jsh.erp.datasource.mappers.*;
import com.jsh.erp.datasource.mappers.SerialNumberMapper;
import com.jsh.erp.datasource.mappers.SerialNumberMapperEx;
import com.jsh.erp.exception.BusinessRunTimeException; import com.jsh.erp.exception.BusinessRunTimeException;
import com.jsh.erp.service.depotItem.DepotItemService; import com.jsh.erp.service.depotItem.DepotItemService;
import com.jsh.erp.service.material.MaterialService; import com.jsh.erp.service.material.MaterialService;
...@@ -19,6 +17,7 @@ import org.springframework.transaction.annotation.Transactional; ...@@ -19,6 +17,7 @@ import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource; import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
import java.util.ArrayList;
import java.util.Date; import java.util.Date;
import java.util.List; import java.util.List;
...@@ -39,9 +38,13 @@ public class SerialNumberService { ...@@ -39,9 +38,13 @@ public class SerialNumberService {
@Resource @Resource
private MaterialMapperEx materialMapperEx; private MaterialMapperEx materialMapperEx;
@Resource @Resource
private MaterialMapper materialMapper;
@Resource
private DepotItemService depotItemService; private DepotItemService depotItemService;
@Resource @Resource
private UserService userService; private UserService userService;
@Resource
private DepotItemMapperEx depotItemMapperEx;
public SerialNumber getSerialNumber(long id) { public SerialNumber getSerialNumber(long id) {
...@@ -173,9 +176,9 @@ public class SerialNumberService { ...@@ -173,9 +176,9 @@ public class SerialNumberService {
serialNumberEx.setMaterialId(getSerialNumberMaterialIdByMaterialName(serialNumberEx.getMaterialName())); serialNumberEx.setMaterialId(getSerialNumberMaterialIdByMaterialName(serialNumberEx.getMaterialName()));
} }
//删除标记,默认未删除 //删除标记,默认未删除
serialNumberEx.setDeleteFlag(false); serialNumberEx.setDeleteFlag(BusinessConstants.DELETE_FLAG_EXISTS);
//已卖出,默认未否 //已卖出,默认未否
serialNumberEx.setIsSell(false); serialNumberEx.setIsSell(BusinessConstants.IS_SELL_HOLD);
Date date=new Date(); Date date=new Date();
serialNumberEx.setCreateTime(date); serialNumberEx.setCreateTime(date);
serialNumberEx.setUpdateTime(date); serialNumberEx.setUpdateTime(date);
...@@ -208,38 +211,52 @@ public class SerialNumberService { ...@@ -208,38 +211,52 @@ public class SerialNumberService {
/** /**
* create by: cjl * create by: cjl
* description: * description:
* 根据商品名称判断给商品添加序列号是否可行 * 根据商品名称判断商品名称是否有效
* 1、根据商品名称必须查询到唯一的商品
* 2、该商品必须已经启用序列号
* 3、该商品已绑定序列号数量小于商品现有库存
* create time: 2019/1/23 17:04 * create time: 2019/1/23 17:04
* @Param: materialName * @Param: materialName
* @return Long 满足使用条件的商品的id * @return Long 满足使用条件的商品的id
*/ */
public Long getSerialNumberMaterialIdByMaterialName(String materialName){ public Long checkMaterialName(String materialName){
if(StringUtil.isNotEmpty(materialName)){ if(StringUtil.isNotEmpty(materialName)) {
List<Material> mlist = materialMapperEx.findByMaterialName(materialName); List<Material> mlist = materialMapperEx.findByMaterialName(materialName);
if(mlist==null||mlist.size()<1){ if (mlist == null || mlist.size() < 1) {
//商品名称不存在 //商品名称不存在
throw new BusinessRunTimeException(ExceptionConstants.MATERIAL_NOT_EXISTS_CODE, throw new BusinessRunTimeException(ExceptionConstants.MATERIAL_NOT_EXISTS_CODE,
ExceptionConstants.MATERIAL_NOT_EXISTS_MSG); ExceptionConstants.MATERIAL_NOT_EXISTS_MSG);
} }
if(mlist.size()>1){ if (mlist.size() > 1) {
//商品信息不唯一 //商品信息不唯一
throw new BusinessRunTimeException(ExceptionConstants.MATERIAL_NOT_ONLY_CODE, throw new BusinessRunTimeException(ExceptionConstants.MATERIAL_NOT_ONLY_CODE,
ExceptionConstants.MATERIAL_NOT_ONLY_MSG); ExceptionConstants.MATERIAL_NOT_ONLY_MSG);
} }
//获得唯一商品 //获得唯一商品
if(BusinessConstants.MATERIAL_NOT_ENABLE_SERIAL_NUMBER==mlist.get(0).getEnableSerialNumber()){ if (BusinessConstants.ENABLE_SERIAL_NUMBER_NOT_ENABLED.equals(mlist.get(0).getEnableSerialNumber())) {
//商品未开启序列号 //商品未开启序列号
throw new BusinessRunTimeException(ExceptionConstants.MATERIAL_NOT_ENABLE_SERIAL_NUMBER_CODE, throw new BusinessRunTimeException(ExceptionConstants.MATERIAL_NOT_ENABLE_SERIAL_NUMBER_CODE,
ExceptionConstants.MATERIAL_NOT_ENABLE_SERIAL_NUMBER_MSG); ExceptionConstants.MATERIAL_NOT_ENABLE_SERIAL_NUMBER_MSG);
} }
return mlist.get(0).getId();
}
return null;
}
/**
* create by: cjl
* description:
* 根据商品名称判断给商品添加序列号是否可行
* 1、根据商品名称必须查询到唯一的商品
* 2、该商品必须已经启用序列号
* 3、该商品已绑定序列号数量小于商品现有库存
* create time: 2019/1/23 17:04
* @Param: materialName
* @return Long 满足使用条件的商品的id
*/
public Long getSerialNumberMaterialIdByMaterialName(String materialName){
if(StringUtil.isNotEmpty(materialName)){
//计算商品库存和目前占用的可用序列号数量关系 //计算商品库存和目前占用的可用序列号数量关系
//库存=入库-出库 //库存=入库-出库
//入库数量 //入库数量
Long materialId=mlist.get(0).getId(); Long materialId=checkMaterialName(materialName);
int inSum = depotItemService.findByTypeAndMaterialId(BusinessConstants.DEPOTHEAD_TYPE_STORAGE, materialId); int inSum = depotItemService.findByTypeAndMaterialId(BusinessConstants.DEPOTHEAD_TYPE_STORAGE, materialId);
//出库数量 //出库数量
int outSum = depotItemService.findByTypeAndMaterialId(BusinessConstants.DEPOTHEAD_TYPE_OUT, materialId); int outSum = depotItemService.findByTypeAndMaterialId(BusinessConstants.DEPOTHEAD_TYPE_OUT, materialId);
...@@ -254,4 +271,113 @@ public class SerialNumberService { ...@@ -254,4 +271,113 @@ public class SerialNumberService {
return null; return null;
} }
/**
* create by: cjl
* description:
* 出库时判断序列号库存是否足够,
* 同时将对应的序列号绑定单据
* create time: 2019/1/24 16:24
* @Param: List<DepotItem>
* @return void
*/
public void checkAndUpdateSerialNumber(DepotItem depotItem,User userInfo) throws Exception{
if(depotItem!=null){
//查询商品下已分配的可用序列号数量
int SerialNumberSum= serialNumberMapperEx.countSerialNumberByMaterialIdAndDepotheadId(depotItem.getMaterialid(),null,BusinessConstants.IS_SELL_HOLD);
if(depotItem.getOpernumber().intValue()>SerialNumberSum){
//获取商品名称
Material material= materialMapper.selectByPrimaryKey(depotItem.getMaterialid());
throw new BusinessRunTimeException(ExceptionConstants.MATERIAL_SERIAL_NUMBERE_NOT_ENOUGH_CODE,
String.format(ExceptionConstants.MATERIAL_SERIAL_NUMBERE_NOT_ENOUGH_MSG,material==null?"":material.getName()));
}
//商品下序列号充足,分配序列号
sellSerialNumber(depotItem.getMaterialid(),depotItem.getHeaderid(),depotItem.getOpernumber().intValue(),userInfo);
}
}
/**
*
*
* */
/**
* create by: cjl
* description:
* 卖出序列号
* create time: 2019/1/25 9:17
* @Param: materialId
 * @Param: depotheadId
 * @Param: isSell 卖出'1'
 * @Param: Count 卖出或者赎回的数量
* @return com.jsh.erp.datasource.entities.SerialNumberEx
*/
@Transactional(value = "transactionManager", rollbackFor = Exception.class)
public int sellSerialNumber(Long materialId, Long depotheadId,int count,User user) throws Exception{
return serialNumberMapperEx.sellSerialNumber(materialId,depotheadId,count,new Date(),user==null?null:user.getId());
}
/**
* create by: cjl
* description:
* 赎回序列号
* create time: 2019/1/25 9:17
* @Param: materialId
 * @Param: depotheadId
 * @Param: isSell 赎回'0'
 * @Param: Count 卖出或者赎回的数量
* @return com.jsh.erp.datasource.entities.SerialNumberEx
*/
@Transactional(value = "transactionManager", rollbackFor = Exception.class)
public int cancelSerialNumber(Long materialId, Long depotheadId,int count,User user) throws Exception{
return serialNumberMapperEx.cancelSerialNumber(materialId,depotheadId,count,new Date(),user==null?null:user.getId());
}
/**
* create by: cjl
* description:
*批量添加序列号
* create time: 2019/1/29 15:11
* @Param: materialName
 * @Param: serialNumberPrefix
 * @Param: batAddTotal
 * @Param: remark
* @return java.lang.Object
*/
@Transactional(value = "transactionManager", rollbackFor = Exception.class)
public void batAddSerialNumber(String materialName, String serialNumberPrefix, Integer batAddTotal, String remark) {
if(StringUtil.isNotEmpty(materialName)){
//查询商品id
Long materialId = checkMaterialName(materialName);
List<SerialNumberEx> list=null;
//当前用户
User userInfo=userService.getCurrentUser();
Long userId=userInfo==null?null:userInfo.getId();
Date date = null;
Long million=null;
synchronized(this){
date = new Date();
million=date.getTime();
}
int insertNum=0;
StringBuffer prefixBuf=new StringBuffer(serialNumberPrefix).append(million);
do{
list=new ArrayList<SerialNumberEx>();
int forNum = BusinessConstants.BATCH_INSERT_MAX_NUMBER>=batAddTotal?batAddTotal:BusinessConstants.BATCH_INSERT_MAX_NUMBER;
for(int i=0;i<forNum;i++){
insertNum++;
SerialNumberEx each=new SerialNumberEx();
each.setMaterialId(materialId);
each.setCreator(userId);
each.setCreateTime(date);
each.setUpdater(userId);
each.setUpdateTime(date);
each.setRemark(remark);
each.setSerialNumber(new StringBuffer(prefixBuf.toString()).append(insertNum).toString());
list.add(each);
}
serialNumberMapperEx.batAddSerialNumber(list);
batAddTotal -= BusinessConstants.BATCH_INSERT_MAX_NUMBER;
}while(batAddTotal>0);
}
}
} }
...@@ -78,8 +78,13 @@ public class SupplierService { ...@@ -78,8 +78,13 @@ public class SupplierService {
@Transactional(value = "transactionManager", rollbackFor = Exception.class) @Transactional(value = "transactionManager", rollbackFor = Exception.class)
public int updateAdvanceIn(Long supplierId, BigDecimal advanceIn){ public int updateAdvanceIn(Long supplierId, BigDecimal advanceIn){
Supplier supplier = supplierMapper.selectByPrimaryKey(supplierId); Supplier supplier = supplierMapper.selectByPrimaryKey(supplierId);
if(supplier!=null){
supplier.setAdvancein(supplier.getAdvancein().add(advanceIn)); //增加预收款的金额,可能增加的是负值 supplier.setAdvancein(supplier.getAdvancein().add(advanceIn)); //增加预收款的金额,可能增加的是负值
return supplierMapper.updateByPrimaryKeySelective(supplier); return supplierMapper.updateByPrimaryKeySelective(supplier);
}else{
return 0;
}
} }
public List<Supplier> findBySelectCus() { public List<Supplier> findBySelectCus() {
......
<?xml version="1.0" encoding="UTF-8"?> <?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"> <!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.DepotHeadMapper"> <mapper namespace="com.jsh.erp.datasource.mappers.DepotHeadMapperEx">
<resultMap extends="BaseResultMap" id="ResultMapEx" type="com.jsh.erp.datasource.vo.DepotHeadVo4List"> <resultMap extends="com.jsh.erp.datasource.mappers.DepotHeadMapper.BaseResultMap" id="ResultMapEx" type="com.jsh.erp.datasource.vo.DepotHeadVo4List">
<result column="ProjectName" jdbcType="VARCHAR" property="projectName" /> <result column="ProjectName" jdbcType="VARCHAR" property="projectName" />
<result column="OrganName" jdbcType="VARCHAR" property="organName" /> <result column="OrganName" jdbcType="VARCHAR" property="organName" />
<result column="HandsPersonName" jdbcType="VARCHAR" property="handsPersonName" /> <result column="HandsPersonName" jdbcType="VARCHAR" property="handsPersonName" />
...@@ -282,4 +282,112 @@ ...@@ -282,4 +282,112 @@
</if> </if>
</select> </select>
<insert id="adddepotHead" parameterType="com.jsh.erp.datasource.entities.DepotHead"
useGeneratedKeys="true" keyProperty="id" keyColumn="id">
insert into jsh_depothead (Type, SubType,
ProjectId, DefaultNumber, Number,
OperPersonName, CreateTime, OperTime,
OrganId, HandsPersonId, AccountId,
ChangeAmount, AllocationProjectId, TotalPrice,
PayType, Remark, Salesman,
AccountIdList, AccountMoneyList, Discount,
DiscountMoney, DiscountLastMoney, OtherMoney,
OtherMoneyList, OtherMoneyItem, AccountDay,
Status)
values (#{type,jdbcType=VARCHAR}, #{subtype,jdbcType=VARCHAR},
#{projectid,jdbcType=BIGINT}, #{defaultnumber,jdbcType=VARCHAR}, #{number,jdbcType=VARCHAR},
#{operpersonname,jdbcType=VARCHAR}, #{createtime,jdbcType=TIMESTAMP}, #{opertime,jdbcType=TIMESTAMP},
#{organid,jdbcType=BIGINT}, #{handspersonid,jdbcType=BIGINT}, #{accountid,jdbcType=BIGINT},
#{changeamount,jdbcType=DECIMAL}, #{allocationprojectid,jdbcType=BIGINT}, #{totalprice,jdbcType=DECIMAL},
#{paytype,jdbcType=VARCHAR}, #{remark,jdbcType=VARCHAR}, #{salesman,jdbcType=VARCHAR},
#{accountidlist,jdbcType=VARCHAR}, #{accountmoneylist,jdbcType=VARCHAR}, #{discount,jdbcType=DECIMAL},
#{discountmoney,jdbcType=DECIMAL}, #{discountlastmoney,jdbcType=DECIMAL}, #{othermoney,jdbcType=DECIMAL},
#{othermoneylist,jdbcType=VARCHAR}, #{othermoneyitem,jdbcType=VARCHAR}, #{accountday,jdbcType=INTEGER},
#{status,jdbcType=BIT})
</insert>
<update id="updatedepotHead" parameterType="com.jsh.erp.datasource.entities.DepotHead">
update jsh_depothead
<set>
<if test="type != null">
Type = #{type,jdbcType=VARCHAR},
</if>
<if test="subtype != null">
SubType = #{subtype,jdbcType=VARCHAR},
</if>
<if test="projectid != null">
ProjectId = #{projectid,jdbcType=BIGINT},
</if>
<if test="defaultnumber != null">
DefaultNumber = #{defaultnumber,jdbcType=VARCHAR},
</if>
<if test="number != null">
Number = #{number,jdbcType=VARCHAR},
</if>
<if test="operpersonname != null">
OperPersonName = #{operpersonname,jdbcType=VARCHAR},
</if>
<if test="opertime != null">
OperTime = #{opertime,jdbcType=TIMESTAMP},
</if>
<if test="organid != null">
OrganId = #{organid,jdbcType=BIGINT},
</if>
<if test="handspersonid != null">
HandsPersonId = #{handspersonid,jdbcType=BIGINT},
</if>
<if test="accountid != null">
AccountId = #{accountid,jdbcType=BIGINT},
</if>
<if test="changeamount != null">
ChangeAmount = #{changeamount,jdbcType=DECIMAL},
</if>
<if test="allocationprojectid != null">
AllocationProjectId = #{allocationprojectid,jdbcType=BIGINT},
</if>
<if test="totalprice != null">
TotalPrice = #{totalprice,jdbcType=DECIMAL},
</if>
<if test="paytype != null">
PayType = #{paytype,jdbcType=VARCHAR},
</if>
<if test="remark != null">
Remark = #{remark,jdbcType=VARCHAR},
</if>
<if test="salesman != null">
Salesman = #{salesman,jdbcType=VARCHAR},
</if>
<if test="accountidlist != null">
AccountIdList = #{accountidlist,jdbcType=VARCHAR},
</if>
<if test="accountmoneylist != null">
AccountMoneyList = #{accountmoneylist,jdbcType=VARCHAR},
</if>
<if test="discount != null">
Discount = #{discount,jdbcType=DECIMAL},
</if>
<if test="discountmoney != null">
DiscountMoney = #{discountmoney,jdbcType=DECIMAL},
</if>
<if test="discountlastmoney != null">
DiscountLastMoney = #{discountlastmoney,jdbcType=DECIMAL},
</if>
<if test="othermoney != null">
OtherMoney = #{othermoney,jdbcType=DECIMAL},
</if>
<if test="othermoneylist != null">
OtherMoneyList = #{othermoneylist,jdbcType=VARCHAR},
</if>
<if test="othermoneyitem != null">
OtherMoneyItem = #{othermoneyitem,jdbcType=VARCHAR},
</if>
<if test="accountday != null">
AccountDay = #{accountday,jdbcType=INTEGER},
</if>
<if test="status != null">
Status = #{status,jdbcType=BIT},
</if>
</set>
where Id = #{id,jdbcType=BIGINT}
</update>
</mapper> </mapper>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?> <?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"> <!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.DepotItemMapper"> <mapper namespace="com.jsh.erp.datasource.mappers.DepotItemMapperEx">
<resultMap id="HeaderIdResultMap" type="com.jsh.erp.datasource.entities.DepotItemVo4HeaderId"> <resultMap id="HeaderIdResultMap" type="com.jsh.erp.datasource.entities.DepotItemVo4HeaderId">
<result column="HeaderId" jdbcType="BIGINT" property="headerid" /> <result column="HeaderId" jdbcType="BIGINT" property="headerid" />
</resultMap> </resultMap>
...@@ -12,12 +13,12 @@ ...@@ -12,12 +13,12 @@
<result column="oTime" jdbcType="TIMESTAMP" property="otime" /> <result column="oTime" jdbcType="TIMESTAMP" property="otime" />
</resultMap> </resultMap>
<resultMap extends="BaseResultMap" id="ResultAndMaterialMap" type="com.jsh.erp.datasource.entities.DepotItemVo4Material"> <resultMap extends="com.jsh.erp.datasource.mappers.DepotItemMapper.BaseResultMap" id="ResultAndMaterialMap" type="com.jsh.erp.datasource.entities.DepotItemVo4Material">
<result column="mName" jdbcType="VARCHAR" property="mname" /> <result column="mName" jdbcType="VARCHAR" property="mname" />
<result column="mModel" jdbcType="VARCHAR" property="mmodel" /> <result column="mModel" jdbcType="VARCHAR" property="mmodel" />
</resultMap> </resultMap>
<resultMap extends="BaseResultMap" id="ResultWithInfoExMap" type="com.jsh.erp.datasource.entities.DepotItemVo4WithInfoEx"> <resultMap extends="com.jsh.erp.datasource.mappers.DepotItemMapper.BaseResultMap" id="ResultWithInfoExMap" type="com.jsh.erp.datasource.entities.DepotItemVo4WithInfoEx">
<result column="MName" jdbcType="VARCHAR" property="MName" /> <result column="MName" jdbcType="VARCHAR" property="MName" />
<result column="MModel" jdbcType="VARCHAR" property="MModel" /> <result column="MModel" jdbcType="VARCHAR" property="MModel" />
<result column="MaterialUnit" jdbcType="VARCHAR" property="MaterialUnit" /> <result column="MaterialUnit" jdbcType="VARCHAR" property="MaterialUnit" />
...@@ -33,7 +34,7 @@ ...@@ -33,7 +34,7 @@
<result column="UName" jdbcType="VARCHAR" property="UName" /> <result column="UName" jdbcType="VARCHAR" property="UName" />
</resultMap> </resultMap>
<resultMap extends="BaseResultMap" id="ResultByMaterial" type="com.jsh.erp.datasource.entities.DepotItemVo4WithInfoEx"> <resultMap extends="com.jsh.erp.datasource.mappers.DepotItemMapper.BaseResultMap" id="ResultByMaterial" type="com.jsh.erp.datasource.entities.DepotItemVo4WithInfoEx">
<result column="MId" jdbcType="VARCHAR" property="MId" /> <result column="MId" jdbcType="VARCHAR" property="MId" />
<result column="MName" jdbcType="VARCHAR" property="MName" /> <result column="MName" jdbcType="VARCHAR" property="MName" />
<result column="MModel" jdbcType="VARCHAR" property="MModel" /> <result column="MModel" jdbcType="VARCHAR" property="MModel" />
...@@ -41,7 +42,7 @@ ...@@ -41,7 +42,7 @@
<result column="MColor" jdbcType="VARCHAR" property="MColor" /> <result column="MColor" jdbcType="VARCHAR" property="MColor" />
</resultMap> </resultMap>
<select id="selectByConditionDepotItem" parameterType="com.jsh.erp.datasource.entities.DepotItemExample" resultMap="BaseResultMap"> <select id="selectByConditionDepotItem" parameterType="com.jsh.erp.datasource.entities.DepotItemExample" resultMap="com.jsh.erp.datasource.mappers.DepotItemMapper.BaseResultMap">
select * select *
FROM jsh_depotitem FROM jsh_depotitem
where 1=1 where 1=1
...@@ -274,4 +275,35 @@ ...@@ -274,4 +275,35 @@
and jsh_depotitem.MaterialId =${MId} and jsh_depotitem.MaterialId =${MId}
</select> </select>
<select id="findDepotItemListBydepotheadId" resultType="com.jsh.erp.datasource.entities.DepotItem">
select
dep.id,dep.headerId,dep.materialid,dep.munit,dep.opernumber,
dep.basicnumber,dep.unitprice,dep.taxunitprice,dep.allprice,dep.remark,
dep.img,dep.incidentals,dep.depotid,dep.anotherdepotid,dep.taxrate,
dep.taxmoney,dep.taxlastmoney,dep.otherfield1,dep.otherfield2,dep.otherfield3,
dep.otherfield4,dep.otherfield5,dep.mtype
from jsh_depotitem dep,jsh_material mat
where 1=1
<if test="depotheadId != null">
and HeaderId = #{depotheadId}
</if>
and dep.materialid=mat.id
<if test="enableSerialNumber != null">
and mat.enableSerialNumber = #{enableSerialNumber}
</if>
</select>
<delete id="deleteDepotItemByDepotHeadIds">
delete from jsh_depotitem
where 1=1
and HeaderId in
(
<foreach collection="depotheadIds" item="depotheadId" separator=",">
#{depotheadId}
</foreach>
)
</delete>
</mapper> </mapper>
\ No newline at end of file
...@@ -29,7 +29,7 @@ ...@@ -29,7 +29,7 @@
<result column="OtherField1" jdbcType="VARCHAR" property="otherfield1" /> <result column="OtherField1" jdbcType="VARCHAR" property="otherfield1" />
<result column="OtherField2" jdbcType="VARCHAR" property="otherfield2" /> <result column="OtherField2" jdbcType="VARCHAR" property="otherfield2" />
<result column="OtherField3" jdbcType="VARCHAR" property="otherfield3" /> <result column="OtherField3" jdbcType="VARCHAR" property="otherfield3" />
<result column="enableSerialNumber" jdbcType="BIT" property="enableSerialNumber" /> <result column="enableSerialNumber" jdbcType="VARCHAR" property="enableSerialNumber" />
</resultMap> </resultMap>
<sql id="Example_Where_Clause"> <sql id="Example_Where_Clause">
<!-- <!--
...@@ -172,7 +172,7 @@ ...@@ -172,7 +172,7 @@
#{lowprice,jdbcType=DECIMAL}, #{presetpriceone,jdbcType=DECIMAL}, #{presetpricetwo,jdbcType=DECIMAL}, #{lowprice,jdbcType=DECIMAL}, #{presetpriceone,jdbcType=DECIMAL}, #{presetpricetwo,jdbcType=DECIMAL},
#{unitid,jdbcType=BIGINT}, #{firstoutunit,jdbcType=VARCHAR}, #{firstinunit,jdbcType=VARCHAR}, #{unitid,jdbcType=BIGINT}, #{firstoutunit,jdbcType=VARCHAR}, #{firstinunit,jdbcType=VARCHAR},
#{pricestrategy,jdbcType=VARCHAR}, #{enabled,jdbcType=BIT}, #{otherfield1,jdbcType=VARCHAR}, #{pricestrategy,jdbcType=VARCHAR}, #{enabled,jdbcType=BIT}, #{otherfield1,jdbcType=VARCHAR},
#{otherfield2,jdbcType=VARCHAR}, #{otherfield3,jdbcType=VARCHAR},#{enableSerialNumber,jdbcType=BIT}) #{otherfield2,jdbcType=VARCHAR}, #{otherfield3,jdbcType=VARCHAR},#{enableSerialNumber,jdbcType=VARCHAR})
</insert> </insert>
<insert id="insertSelective" parameterType="com.jsh.erp.datasource.entities.Material"> <insert id="insertSelective" parameterType="com.jsh.erp.datasource.entities.Material">
<!-- <!--
...@@ -325,7 +325,7 @@ ...@@ -325,7 +325,7 @@
#{otherfield3,jdbcType=VARCHAR}, #{otherfield3,jdbcType=VARCHAR},
</if> </if>
<if test="enableSerialNumber != null"> <if test="enableSerialNumber != null">
#{enableSerialNumber,jdbcType=BIT}, #{enableSerialNumber,jdbcType=VARCHAR},
</if> </if>
</trim> </trim>
</insert> </insert>
...@@ -452,7 +452,7 @@ ...@@ -452,7 +452,7 @@
OtherField1 = #{record.otherfield1,jdbcType=VARCHAR}, OtherField1 = #{record.otherfield1,jdbcType=VARCHAR},
OtherField2 = #{record.otherfield2,jdbcType=VARCHAR}, OtherField2 = #{record.otherfield2,jdbcType=VARCHAR},
OtherField3 = #{record.otherfield3,jdbcType=VARCHAR} OtherField3 = #{record.otherfield3,jdbcType=VARCHAR}
enableSerialNumber = #{record.enableSerialNumber,jdbcType=BIT} enableSerialNumber = #{record.enableSerialNumber,jdbcType=VARCHAR}
<if test="_parameter != null"> <if test="_parameter != null">
<include refid="Update_By_Example_Where_Clause" /> <include refid="Update_By_Example_Where_Clause" />
</if> </if>
......
<?xml version="1.0" encoding="UTF-8"?> <?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"> <!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.MaterialMapperEx"> <mapper namespace="com.jsh.erp.datasource.mappers.MaterialMapperEx">
<resultMap id="BaseResultMap" type="com.jsh.erp.datasource.entities.Material"> <resultMap extends="com.jsh.erp.datasource.mappers.MaterialMapper.BaseResultMap" id="ResultMapList" type="com.jsh.erp.datasource.entities.MaterialVo4Unit">
<!--
WARNING - @mbggenerated
This element is automatically generated by MyBatis Generator, do not modify.
-->
<id column="Id" jdbcType="BIGINT" property="id" />
<result column="CategoryId" jdbcType="BIGINT" property="categoryid" />
<result column="Name" jdbcType="VARCHAR" property="name" />
<result column="Mfrs" jdbcType="VARCHAR" property="mfrs" />
<result column="Packing" jdbcType="DECIMAL" property="packing" />
<result column="SafetyStock" jdbcType="DECIMAL" property="safetystock" />
<result column="Model" jdbcType="VARCHAR" property="model" />
<result column="Standard" jdbcType="VARCHAR" property="standard" />
<result column="Color" jdbcType="VARCHAR" property="color" />
<result column="Unit" jdbcType="VARCHAR" property="unit" />
<result column="Remark" jdbcType="VARCHAR" property="remark" />
<result column="RetailPrice" jdbcType="DECIMAL" property="retailprice" />
<result column="LowPrice" jdbcType="DECIMAL" property="lowprice" />
<result column="PresetPriceOne" jdbcType="DECIMAL" property="presetpriceone" />
<result column="PresetPriceTwo" jdbcType="DECIMAL" property="presetpricetwo" />
<result column="UnitId" jdbcType="BIGINT" property="unitid" />
<result column="FirstOutUnit" jdbcType="VARCHAR" property="firstoutunit" />
<result column="FirstInUnit" jdbcType="VARCHAR" property="firstinunit" />
<result column="PriceStrategy" jdbcType="VARCHAR" property="pricestrategy" />
<result column="Enabled" jdbcType="BIT" property="enabled" />
<result column="OtherField1" jdbcType="VARCHAR" property="otherfield1" />
<result column="OtherField2" jdbcType="VARCHAR" property="otherfield2" />
<result column="OtherField3" jdbcType="VARCHAR" property="otherfield3" />
<result column="enableSerialNumber" jdbcType="BIT" property="enableSerialNumber" />
</resultMap>
<resultMap extends="BaseResultMap" id="ResultMapList" type="com.jsh.erp.datasource.entities.MaterialVo4Unit">
<result column="unitName" jdbcType="VARCHAR" property="unitName" /> <result column="unitName" jdbcType="VARCHAR" property="unitName" />
<result column="categoryName" jdbcType="VARCHAR" property="categoryName" /> <result column="categoryName" jdbcType="VARCHAR" property="categoryName" />
</resultMap> </resultMap>
<resultMap extends="BaseResultMap" id="ResultAndUnitMap" type="com.jsh.erp.datasource.entities.MaterialVo4Unit"> <resultMap extends="com.jsh.erp.datasource.mappers.MaterialMapper.BaseResultMap" id="ResultAndUnitMap" type="com.jsh.erp.datasource.entities.MaterialVo4Unit">
<result column="UName" jdbcType="VARCHAR" property="unitName" /> <result column="UName" jdbcType="VARCHAR" property="unitName" />
</resultMap> </resultMap>
......
...@@ -9,13 +9,14 @@ ...@@ -9,13 +9,14 @@
<id column="id" jdbcType="BIGINT" property="id" /> <id column="id" jdbcType="BIGINT" property="id" />
<result column="material_Id" jdbcType="BIGINT" property="materialId" /> <result column="material_Id" jdbcType="BIGINT" property="materialId" />
<result column="serial_Number" jdbcType="VARCHAR" property="serialNumber" /> <result column="serial_Number" jdbcType="VARCHAR" property="serialNumber" />
<result column="is_Sell" jdbcType="BIT" property="isSell" /> <result column="is_Sell" jdbcType="VARCHAR" property="isSell" />
<result column="remark" jdbcType="VARCHAR" property="remark" /> <result column="remark" jdbcType="VARCHAR" property="remark" />
<result column="delete_Flag" jdbcType="BIT" property="deleteFlag" /> <result column="delete_Flag" jdbcType="VARCHAR" property="deleteFlag" />
<result column="create_Time" jdbcType="TIMESTAMP" property="createTime" /> <result column="create_Time" jdbcType="TIMESTAMP" property="createTime" />
<result column="creator" jdbcType="BIGINT" property="creator" /> <result column="creator" jdbcType="BIGINT" property="creator" />
<result column="update_Time" jdbcType="TIMESTAMP" property="updateTime" /> <result column="update_Time" jdbcType="TIMESTAMP" property="updateTime" />
<result column="updater" jdbcType="BIGINT" property="updater" /> <result column="updater" jdbcType="BIGINT" property="updater" />
<result column="depothead_Id" jdbcType="BIGINT" property="depotheadId" />
</resultMap> </resultMap>
<sql id="Example_Where_Clause"> <sql id="Example_Where_Clause">
<!-- <!--
...@@ -89,7 +90,7 @@ ...@@ -89,7 +90,7 @@
This element is automatically generated by MyBatis Generator, do not modify. This element is automatically generated by MyBatis Generator, do not modify.
--> -->
id, material_Id, serial_Number, is_Sell, remark, delete_Flag, create_Time, creator, id, material_Id, serial_Number, is_Sell, remark, delete_Flag, create_Time, creator,
update_Time, updater update_Time, updater,depothead_Id
</sql> </sql>
<select id="selectByExample" parameterType="com.jsh.erp.datasource.entities.SerialNumberExample" resultMap="BaseResultMap"> <select id="selectByExample" parameterType="com.jsh.erp.datasource.entities.SerialNumberExample" resultMap="BaseResultMap">
<!-- <!--
...@@ -145,11 +146,11 @@ ...@@ -145,11 +146,11 @@
insert into jsh_serial_number (id, material_Id, serial_Number, insert into jsh_serial_number (id, material_Id, serial_Number,
is_Sell, remark, delete_Flag, is_Sell, remark, delete_Flag,
create_Time, creator, update_Time, create_Time, creator, update_Time,
updater) updater,depothead_Id)
values (#{id,jdbcType=BIGINT}, #{materialId,jdbcType=BIGINT}, #{serialNumber,jdbcType=VARCHAR}, values (#{id,jdbcType=BIGINT}, #{materialId,jdbcType=BIGINT}, #{serialNumber,jdbcType=VARCHAR},
#{isSell,jdbcType=BIT}, #{remark,jdbcType=VARCHAR}, #{deleteFlag,jdbcType=BIT}, #{isSell,jdbcType=VARCHAR}, #{remark,jdbcType=VARCHAR}, #{deleteFlag,jdbcType=VARCHAR},
#{createTime,jdbcType=TIMESTAMP}, #{creator,jdbcType=BIGINT}, #{updateTime,jdbcType=TIMESTAMP}, #{createTime,jdbcType=TIMESTAMP}, #{creator,jdbcType=BIGINT}, #{updateTime,jdbcType=TIMESTAMP},
#{updater,jdbcType=BIGINT}) #{updater,jdbcType=BIGINT},#{depotheadId,jdbcType=BIGINT})
</insert> </insert>
<insert id="insertSelective" parameterType="com.jsh.erp.datasource.entities.SerialNumber"> <insert id="insertSelective" parameterType="com.jsh.erp.datasource.entities.SerialNumber">
<!-- <!--
...@@ -188,6 +189,9 @@ ...@@ -188,6 +189,9 @@
<if test="updater != null"> <if test="updater != null">
updater, updater,
</if> </if>
<if test="depotheadId != null">
depothead_Id,
</if>
</trim> </trim>
<trim prefix="values (" suffix=")" suffixOverrides=","> <trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="id != null"> <if test="id != null">
...@@ -200,13 +204,13 @@ ...@@ -200,13 +204,13 @@
#{serialNumber,jdbcType=VARCHAR}, #{serialNumber,jdbcType=VARCHAR},
</if> </if>
<if test="isSell != null"> <if test="isSell != null">
#{isSell,jdbcType=BIT}, #{isSell,jdbcType=VARCHAR},
</if> </if>
<if test="remark != null"> <if test="remark != null">
#{remark,jdbcType=VARCHAR}, #{remark,jdbcType=VARCHAR},
</if> </if>
<if test="deleteFlag != null"> <if test="deleteFlag != null">
#{deleteFlag,jdbcType=BIT}, #{deleteFlag,jdbcType=VARCHAR},
</if> </if>
<if test="createTime != null"> <if test="createTime != null">
#{createTime,jdbcType=TIMESTAMP}, #{createTime,jdbcType=TIMESTAMP},
...@@ -220,6 +224,9 @@ ...@@ -220,6 +224,9 @@
<if test="updater != null"> <if test="updater != null">
#{updater,jdbcType=BIGINT}, #{updater,jdbcType=BIGINT},
</if> </if>
<if test="depotheadId != null">
#{depotheadId,jdbcType=BIGINT},
</if>
</trim> </trim>
</insert> </insert>
<select id="countByExample" parameterType="com.jsh.erp.datasource.entities.SerialNumberExample" resultType="java.lang.Integer"> <select id="countByExample" parameterType="com.jsh.erp.datasource.entities.SerialNumberExample" resultType="java.lang.Integer">
...@@ -249,13 +256,13 @@ ...@@ -249,13 +256,13 @@
serial_Number = #{record.serialNumber,jdbcType=VARCHAR}, serial_Number = #{record.serialNumber,jdbcType=VARCHAR},
</if> </if>
<if test="record.isSell != null"> <if test="record.isSell != null">
is_Sell = #{record.isSell,jdbcType=BIT}, is_Sell = #{record.isSell,jdbcType=VARCHAR},
</if> </if>
<if test="record.remark != null"> <if test="record.remark != null">
remark = #{record.remark,jdbcType=VARCHAR}, remark = #{record.remark,jdbcType=VARCHAR},
</if> </if>
<if test="record.deleteFlag != null"> <if test="record.deleteFlag != null">
delete_Flag = #{record.deleteFlag,jdbcType=BIT}, delete_Flag = #{record.deleteFlag,jdbcType=VARCHAR},
</if> </if>
<if test="record.createTime != null"> <if test="record.createTime != null">
create_Time = #{record.createTime,jdbcType=TIMESTAMP}, create_Time = #{record.createTime,jdbcType=TIMESTAMP},
...@@ -269,6 +276,9 @@ ...@@ -269,6 +276,9 @@
<if test="record.updater != null"> <if test="record.updater != null">
updater = #{record.updater,jdbcType=BIGINT}, updater = #{record.updater,jdbcType=BIGINT},
</if> </if>
<if test="record.depotheadId != null">
depothead_Id = #{record.depotheadId,jdbcType=BIGINT},
</if>
</set> </set>
<if test="_parameter != null"> <if test="_parameter != null">
<include refid="Update_By_Example_Where_Clause" /> <include refid="Update_By_Example_Where_Clause" />
...@@ -283,13 +293,14 @@ ...@@ -283,13 +293,14 @@
set id = #{record.id,jdbcType=BIGINT}, set id = #{record.id,jdbcType=BIGINT},
material_Id = #{record.materialId,jdbcType=BIGINT}, material_Id = #{record.materialId,jdbcType=BIGINT},
serial_Number = #{record.serialNumber,jdbcType=VARCHAR}, serial_Number = #{record.serialNumber,jdbcType=VARCHAR},
is_Sell = #{record.isSell,jdbcType=BIT}, is_Sell = #{record.isSell,jdbcType=VARCHAR},
remark = #{record.remark,jdbcType=VARCHAR}, remark = #{record.remark,jdbcType=VARCHAR},
delete_Flag = #{record.deleteFlag,jdbcType=BIT}, delete_Flag = #{record.deleteFlag,jdbcType=VARCHAR},
create_Time = #{record.createTime,jdbcType=TIMESTAMP}, create_Time = #{record.createTime,jdbcType=TIMESTAMP},
creator = #{record.creator,jdbcType=BIGINT}, creator = #{record.creator,jdbcType=BIGINT},
update_Time = #{record.updateTime,jdbcType=TIMESTAMP}, update_Time = #{record.updateTime,jdbcType=TIMESTAMP},
updater = #{record.updater,jdbcType=BIGINT} updater = #{record.updater,jdbcType=BIGINT},
depothead_Id = #{record.depotheadId,jdbcType=BIGINT}
<if test="_parameter != null"> <if test="_parameter != null">
<include refid="Update_By_Example_Where_Clause" /> <include refid="Update_By_Example_Where_Clause" />
</if> </if>
...@@ -308,13 +319,13 @@ ...@@ -308,13 +319,13 @@
serial_Number = #{serialNumber,jdbcType=VARCHAR}, serial_Number = #{serialNumber,jdbcType=VARCHAR},
</if> </if>
<if test="isSell != null"> <if test="isSell != null">
is_Sell = #{isSell,jdbcType=BIT}, is_Sell = #{isSell,jdbcType=VARCHAR},
</if> </if>
<if test="remark != null"> <if test="remark != null">
remark = #{remark,jdbcType=VARCHAR}, remark = #{remark,jdbcType=VARCHAR},
</if> </if>
<if test="deleteFlag != null"> <if test="deleteFlag != null">
delete_Flag = #{deleteFlag,jdbcType=BIT}, delete_Flag = #{deleteFlag,jdbcType=VARCHAR},
</if> </if>
<if test="createTime != null"> <if test="createTime != null">
create_Time = #{createTime,jdbcType=TIMESTAMP}, create_Time = #{createTime,jdbcType=TIMESTAMP},
...@@ -328,6 +339,9 @@ ...@@ -328,6 +339,9 @@
<if test="updater != null"> <if test="updater != null">
updater = #{updater,jdbcType=BIGINT}, updater = #{updater,jdbcType=BIGINT},
</if> </if>
<if test="depotheadId != null">
depothead_Id = #{depotheadId,jdbcType=BIGINT},
</if>
</set> </set>
where id = #{id,jdbcType=BIGINT} where id = #{id,jdbcType=BIGINT}
</update> </update>
...@@ -339,13 +353,14 @@ ...@@ -339,13 +353,14 @@
update jsh_serial_number update jsh_serial_number
set material_Id = #{materialId,jdbcType=BIGINT}, set material_Id = #{materialId,jdbcType=BIGINT},
serial_Number = #{serialNumber,jdbcType=VARCHAR}, serial_Number = #{serialNumber,jdbcType=VARCHAR},
is_Sell = #{isSell,jdbcType=BIT}, is_Sell = #{isSell,jdbcType=VARCHAR},
remark = #{remark,jdbcType=VARCHAR}, remark = #{remark,jdbcType=VARCHAR},
delete_Flag = #{deleteFlag,jdbcType=BIT}, delete_Flag = #{deleteFlag,jdbcType=VARCHAR},
create_Time = #{createTime,jdbcType=TIMESTAMP}, create_Time = #{createTime,jdbcType=TIMESTAMP},
creator = #{creator,jdbcType=BIGINT}, creator = #{creator,jdbcType=BIGINT},
update_Time = #{updateTime,jdbcType=TIMESTAMP}, update_Time = #{updateTime,jdbcType=TIMESTAMP},
updater = #{updater,jdbcType=BIGINT} updater = #{updater,jdbcType=BIGINT},
depothead_Id = #{depotheadId,jdbcType=BIGINT}
where id = #{id,jdbcType=BIGINT} where id = #{id,jdbcType=BIGINT}
</update> </update>
</mapper> </mapper>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?> <?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"> <!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.SerialNumberMapperEx"> <mapper namespace="com.jsh.erp.datasource.mappers.SerialNumberMapperEx">
<resultMap id="BaseResultMap" type="com.jsh.erp.datasource.entities.SerialNumberEx"> <resultMap extends="com.jsh.erp.datasource.mappers.SerialNumberMapper.BaseResultMap" id="SerialNumberExBaseResultMap" type="com.jsh.erp.datasource.entities.SerialNumberEx">
<id column="id" jdbcType="BIGINT" property="id" /> <id column="id" jdbcType="BIGINT" property="id" />
<result column="material_Id" jdbcType="BIGINT" property="materialId" />
<result column="materialName" jdbcType="VARCHAR" property="materialName" /> <result column="materialName" jdbcType="VARCHAR" property="materialName" />
<result column="serial_Number" jdbcType="VARCHAR" property="serialNumber" />
<result column="is_Sell" jdbcType="BIT" property="isSell" />
<result column="remark" jdbcType="VARCHAR" property="remark" />
<result column="delete_Flag" jdbcType="BIT" property="deleteFlag" />
<result column="create_Time" jdbcType="TIMESTAMP" property="createTime" />
<result column="update_Time" jdbcType="TIMESTAMP" property="updateTime" />
<result column="creator" jdbcType="BIGINT" property="creator" />
<result column="updater" jdbcType="BIGINT" property="updater" />
<result column="creatorName" jdbcType="VARCHAR" property="creatorName" /> <result column="creatorName" jdbcType="VARCHAR" property="creatorName" />
<result column="updaterName" jdbcType="VARCHAR" property="updaterName" /> <result column="updaterName" jdbcType="VARCHAR" property="updaterName" />
</resultMap> </resultMap>
<select id="selectByConditionSerialNumber" resultMap="BaseResultMap"> <select id="selectByConditionSerialNumber" resultMap="SerialNumberExBaseResultMap">
select select
ser.id, ser.material_Id, ser.serial_Number, ser.is_Sell, ser.remark, ser.delete_Flag, ser.create_Time, ser.id, ser.material_Id, ser.serial_Number, ser.is_Sell, ser.remark, ser.delete_Flag, ser.create_Time,
ser.update_Time,mat.name as materialName,null as creator,null as updater,null as creatorName, null as updaterName ser.update_Time,mat.name as materialName,null as creator,null as updater,null as creatorName,
null as updaterName,ser.depothead_Id
FROM jsh_serial_number ser FROM jsh_serial_number ser
left JOIN jsh_material mat on mat.id = ser.material_Id left JOIN jsh_material mat on mat.id = ser.material_Id
where 1=1 where 1=1
...@@ -52,11 +44,11 @@ ...@@ -52,11 +44,11 @@
</if> </if>
order by ser.id desc order by ser.id desc
</select> </select>
<select id="findById" resultMap="BaseResultMap"> <select id="findById" resultMap="SerialNumberExBaseResultMap">
SELECT SELECT
ser.id, ser.material_Id, ser.serial_Number, ser.is_Sell, ser.remark, ser.delete_Flag, ser.create_Time, ser.id, ser.material_Id, ser.serial_Number, ser.is_Sell, ser.remark, ser.delete_Flag, ser.create_Time,
ser.update_Time,ser.creator,ser.updater,mat.name as materialName,cr.username as creatorName, ser.update_Time,ser.creator,ser.updater,mat.name as materialName,cr.username as creatorName,
ur.username as updaterName ur.username as updaterName,ser.depothead_Id
FROM jsh_serial_number ser FROM jsh_serial_number ser
left JOIN jsh_material mat on mat.id = ser.material_Id left JOIN jsh_material mat on mat.id = ser.material_Id
left join jsh_user cr on ser.creator=cr.id left join jsh_user cr on ser.creator=cr.id
...@@ -65,10 +57,10 @@ ...@@ -65,10 +57,10 @@
and ser.id=#{id} and ser.id=#{id}
order by ser.id desc order by ser.id desc
</select> </select>
<select id="findBySerialNumber" resultMap="BaseResultMap"> <select id="findBySerialNumber" resultMap="SerialNumberExBaseResultMap">
SELECT SELECT
ser.id, ser.material_Id, ser.serial_Number, ser.is_Sell, ser.remark, ser.delete_Flag, ser.create_Time, ser.id, ser.material_Id, ser.serial_Number, ser.is_Sell, ser.remark, ser.delete_Flag, ser.create_Time,
ser.update_Time,ser.creator,ser.updater ser.update_Time,ser.creator,ser.updater,ser.depothead_Id
FROM jsh_serial_number ser FROM jsh_serial_number ser
where 1=1 where 1=1
<if test="serialNumber != null"> <if test="serialNumber != null">
...@@ -80,10 +72,10 @@ ...@@ -80,10 +72,10 @@
useGeneratedKeys="true" keyProperty="id" keyColumn="id"> useGeneratedKeys="true" keyProperty="id" keyColumn="id">
insert into jsh_serial_number insert into jsh_serial_number
(material_Id, serial_Number, is_Sell, remark,delete_Flag, (material_Id, serial_Number, is_Sell, remark,delete_Flag,
create_Time, creator,update_Time, updater) create_Time, creator,update_Time, updater,depothead_Id)
values values
(#{materialId},#{serialNumber},#{isSell},#{remark},#{deleteFlag}, (#{materialId},#{serialNumber},#{isSell},#{remark},#{deleteFlag},
#{createTime},#{creator},#{updateTime},#{updater} #{createTime},#{creator},#{updateTime},#{updater},#{depotheadId}
) )
</insert> </insert>
<update id="updateSerialNumber" parameterType="com.jsh.erp.datasource.entities.SerialNumberEx"> <update id="updateSerialNumber" parameterType="com.jsh.erp.datasource.entities.SerialNumberEx">
...@@ -96,13 +88,13 @@ ...@@ -96,13 +88,13 @@
serial_Number = #{serialNumber,jdbcType=VARCHAR}, serial_Number = #{serialNumber,jdbcType=VARCHAR},
</if> </if>
<if test="isSell != null"> <if test="isSell != null">
is_Sell = #{isSell,jdbcType=BIT}, is_Sell = #{isSell,jdbcType=VARCHAR},
</if> </if>
<if test="remark != null"> <if test="remark != null">
remark = #{remark,jdbcType=VARCHAR}, remark = #{remark,jdbcType=VARCHAR},
</if> </if>
<if test="deleteFlag != null"> <if test="deleteFlag != null">
delete_Flag = #{deleteFlag,jdbcType=BIT}, delete_Flag = #{deleteFlag,jdbcType=VARCHAR},
</if> </if>
<if test="updateTime != null"> <if test="updateTime != null">
update_Time = #{updateTime,jdbcType=TIMESTAMP}, update_Time = #{updateTime,jdbcType=TIMESTAMP},
...@@ -110,9 +102,13 @@ ...@@ -110,9 +102,13 @@
<if test="updater != null"> <if test="updater != null">
updater = #{updater,jdbcType=BIGINT}, updater = #{updater,jdbcType=BIGINT},
</if> </if>
<if test="depotheadId != null">
depothead_Id = #{depotheadId,jdbcType=BIGINT},
</if>
</set> </set>
where id = #{id,jdbcType=BIGINT} where id = #{id,jdbcType=BIGINT}
</update> </update>
<select id="findSerialNumberByMaterialId" resultType="java.lang.Integer"> <select id="findSerialNumberByMaterialId" resultType="java.lang.Integer">
SELECT SELECT
count(ser.id) count(ser.id)
...@@ -124,5 +120,105 @@ ...@@ -124,5 +120,105 @@
and ser.delete_Flag !='1' and ser.delete_Flag !='1'
and ser.is_Sell !='1' and ser.is_Sell !='1'
</select> </select>
<select id="countSerialNumberByMaterialIdAndDepotheadId" resultType="java.lang.Integer">
SELECT
count(ser.id)
FROM jsh_serial_number ser
where 1=1
<if test="materialId != null">
and ser.material_Id=#{materialId}
</if>
<if test="depotheadId != null">
and ser.depothead_Id=#{depotheadId}
</if>
and ser.is_Sell =#{isSell,jdbcType=VARCHAR}
and ser.delete_Flag !='1'
</select>
<update id="sellSerialNumber">
update jsh_serial_number
<set>
is_Sell = '1',
<if test="depotheadId !=null ">
depothead_Id = #{depotheadId},
</if>
<if test="updateTime !=null ">
update_Time = #{updateTime},
</if>
<if test="updater != null">
updater = #{updater},
</if>
</set>
where 1=1
<if test="materialId != null">
and material_Id = #{materialId}
</if>
and is_Sell != '1'
<if test="count != null">
and id in
( select batchSN.id from
( select selFrom.id from jsh_serial_number selFrom
where 1=1
<if test="materialId != null">
and selFrom.material_Id = #{materialId}
</if>
and selFrom.is_Sell != '1'
limit 0,#{count}
) batchSN
)
</if>
</update>
<update id="cancelSerialNumber">
update jsh_serial_number
<set>
is_Sell = '0',
<if test="updateTime !=null ">
update_Time = #{updateTime},
</if>
<if test="updater != null">
updater = #{updater},
</if>
</set>
where 1=1
<if test="materialId != null">
and material_Id = #{materialId}
</if>
<if test="depotheadId !=null ">
and depothead_Id = #{depotheadId,jdbcType=BIGINT}
</if>
and is_Sell != '0'
<if test="count != null">
and id in
( select batchSN.id from
( select selFrom.id from jsh_serial_number selFrom
where 1=1
<if test="materialId != null">
and selFrom.material_Id = #{materialId}
</if>
<if test="depotheadId !=null ">
and selFrom.depothead_Id = #{depotheadId,jdbcType=BIGINT}
</if>
and selFrom.is_Sell !='0'
limit 0,#{count}
) batchSN
)
</if>
</update>
<insert id="batAddSerialNumber"
useGeneratedKeys="true" keyProperty="id" keyColumn="id">
insert into jsh_serial_number
(material_Id, serial_Number, is_Sell, remark,delete_Flag,
create_Time, creator,update_Time, updater)
values
<foreach collection='list' item='each' separator=','>
(#{each.materialId},#{each.serialNumber},'0',#{each.remark},'0',
#{each.createTime},#{each.creator},#{each.updateTime},#{each.updater}
)
</foreach>
</insert>
</mapper> </mapper>
\ No newline at end of file
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