Commit 3d47ca38 by 江和松

入实时库存不需要规格id,改为使用物料编号。

parent 566e9512
......@@ -172,7 +172,7 @@ public class ServiceHGKC001 extends ServiceBase {
dbKc001.setDeleteFlag(DeleteFlagEnum.REMOVE.getCode());
DaoUtils.update(HGKC001.DELETE, dbKc001);
// 扣减库存
HGKCUtils.HgKc010.updateInv(dbKc001.getCompanyCode(), dbKc001.getWhCode(), dbKc001.getSpecId(),
HGKCUtils.HgKc010.updateInv(dbKc001.getCompanyCode(), dbKc001.getWhCode(), dbKc001.getInventCode(),
dbKc001.getDepositQty().negate(), dbKc001.getDepositWeight().negate());
// 更新收货单状态
HGCGTools.HgCg003.updateStatus(dbKc001.getReceiveNo(), HGConstant.CgReceiveStatus.S_2);
......
......@@ -138,9 +138,10 @@ public class ServiceHGKC001A extends ServiceBase {
newKc001.setDepositUnitWeight(dbCg003.getReceiveUnitWeight());
newKc001.setDepositWeight(dbCg003.getDepositQty().multiply(dbCg003.getReceiveUnitWeight()));
newKc001.setDeleteFlag(DeleteFlagEnum.UN_REMOVE.getCode());
newKc001.setSpecId(dbCg003.getSpecId());
DaoUtils.insert(HGKC001.INSERT, newKc001);
// 更新库存数量
HGKCUtils.HgKc010.updateInv(newKc001.getCompanyCode(), newKc001.getWhCode(), newKc001.getSpecId(),
HGKCUtils.HgKc010.updateInv(newKc001.getCompanyCode(), newKc001.getWhCode(), newKc001.getInventCode(),
newKc001.getDepositQty(), newKc001.getDepositUnitWeight(), newKc001.getDepositWeight());
// 更新收货单状态
HGCGTools.HgCg003.updateStatus(receiveNo, HGConstant.CgReceiveStatus.S_5);
......
......@@ -132,7 +132,7 @@ public class ServiceHGKC002 extends ServiceBase {
newKc002.setDeleteFlag(CommonConstant.YesNo.YES_1);
DaoUtils.insert(HGKC002.INSERT, newKc002);
// 修改库存
HGKCUtils.HgKc010.updateInv(dbKc002.getCompanyCode(), dbKc002.getWhCode(), dbKc002.getSpecId(),
HGKCUtils.HgKc010.updateInv(dbKc002.getCompanyCode(), dbKc002.getWhCode(), dbKc002.getInventCode(),
dbKc002.getApplyQty(), dbKc002.getApplyWeight());
}
}
......
......@@ -137,7 +137,7 @@ public class ServiceHGKC002A extends ServiceEPBase {
newKc002.setDeleteFlag(CommonConstant.YesNo.NO_0);
DaoUtils.insert(HGKC002.INSERT, newKc002);
// 修改库存数量
HGKCUtils.HgKc010.updateInv(dbKc010.getCompanyCode(), dbKc010.getWhCode(), dbKc010.getSpecId(),
HGKCUtils.HgKc010.updateInv(dbKc010.getCompanyCode(), dbKc010.getWhCode(), dbKc010.getInventCode(),
applyQty.negate(), dbKc010.getInvUnitWeight(), newKc002.getApplyWeight().negate());
}
}
......
......@@ -160,7 +160,7 @@ public class ServiceHGKC003 extends ServiceBase {
//修改计划生产任务完工数量
HGSCTools.complete(hgkc003.getQualityId(),hgkc003.getInvQty().intValue(),hgkc003.getRectificationId());
// 修改库存
HGKCUtils.HgKc010.updateInv(hgkc003.getCompanyCode(), hgkc003.getWhCode(), hgkc003.getPartSpecId(),
HGKCUtils.HgKc010.updateInv(hgkc003.getCompanyCode(), hgkc003.getWhCode(), hgkc003.getPartCode(),
hgkc003.getInvQty(), hgkc003.getInvWeight());
}
inInfo.setStatus(EiConstant.STATUS_SUCCESS);
......@@ -246,7 +246,7 @@ public class ServiceHGKC003 extends ServiceBase {
//修改计划生产任务完工数量
HGSCTools.complete(fKc003.getQualityId(),newKc003.getInvQty().intValue(),fKc003.getRectificationId());
// 修改库存
HGKCUtils.HgKc010.updateInv(newKc003.getCompanyCode(), newKc003.getWhCode(), newKc003.getPartSpecId(),
HGKCUtils.HgKc010.updateInv(newKc003.getCompanyCode(), newKc003.getWhCode(), newKc003.getPartCode(),
newKc003.getInvQty(), newKc003.getInvWeight());
}
......
......@@ -166,7 +166,7 @@ public class ServiceHGKC004 extends ServiceEPBase {
if (hgkc004A.getPrice().compareTo(BigDecimal.ZERO)<=0 || hgkc004A.getAmount().compareTo(BigDecimal.ZERO)<=0){
throw new PlatException("单价和金额不能小于0!");
}
HGKC010 hgkc010 = HGKCTools.HgKc010.get(kc004.getCompanyCode(), kc004.getWhCode(), hgkc004A.getInventRecordId());
HGKC010 hgkc010 = HGKCTools.HgKc010.get(kc004.getCompanyCode(), kc004.getWhCode(), hgkc004A.getInventCode());
if (hgkc010 == null) {
throw new PlatException("库存不足!");
}
......
......@@ -178,7 +178,7 @@ public class ServiceHGKC005 extends ServiceEPBase {
// 存货名称
fKc005.setInventName(HGPZTools.HgPz005.getByCode(fKc005.getInventCode()).getInventName());
// 根据规格计算账面单重
BigDecimal unitWeight = HGPZTools.HgPz005.calcUnitWeight(fKc005.getInventRecordId());
BigDecimal unitWeight = HGPZTools.HgPz005.calcUnitWeight(fKc005.getInventCode());
fKc005.setBookUnitWeight(unitWeight);
fKc005.setEntityUnitWeight(unitWeight);
// 计算总重
......
......@@ -176,7 +176,7 @@ public class ServiceHGKC006 extends ServiceBase {
for(HGKC006A hgkc006A : hgkc006AList){
//增加库存
HGKCUtils.HgKc010.updateInv(hgkc006A.getCompanyCode(),hgkc006A.getWhCode(),
hgkc006A.getPartSpecId(),hgkc006A.getInvQty(),
hgkc006A.getPartCode(),hgkc006A.getInvQty(),
hgkc006A.getInvUnitWeight(),hgkc006A.getInvWeight());
}
}
......
......@@ -176,7 +176,7 @@ public class ServiceHGKC007 extends ServiceBase {
BigDecimal invWeight = hgkc007A.getInvWeight().multiply(new BigDecimal(-1));
//减少库存
HGKCUtils.HgKc010.updateInv(hgkc007A.getCompanyCode(),hgkc007A.getWhCode(),
hgkc007A.getPartSpecId(),qty,
hgkc007A.getPartCode(),qty,
invUnitWeight,invWeight);
}
}
......
......@@ -135,7 +135,7 @@ public class ServiceHGKC007A extends ServiceBase {
AssertUtils.isEmpty(UserSessionUtils.getAccountCode(), "当前用户未绑定公司,无法操作数据,请联系管理员!");
AssertUtils.isEmpty(UserSessionUtils.getOrgId(), "当前用户未绑定部门,无法操作数据,请联系管理员!");
AssertUtils.isNull(hgkc007a.getPrimaryId(), "未获取到其他出库单ID信息");
HGKC010 hgkc010 = HGKCTools.HgKc010.get(hgkc007a.getCompanyCode(),hgkc007a.getWhCode(),hgkc007a.getPartSpecId());
HGKC010 hgkc010 = HGKCTools.HgKc010.get(hgkc007a.getCompanyCode(),hgkc007a.getWhCode(),hgkc007a.getPartCode());
if (hgkc010==null){
throw new PlatException("实时库存不存在!");
}
......
......@@ -136,7 +136,7 @@ public class ServiceHGKC008 extends ServiceBase {
BigDecimal invWeight = hgkc008A.getInvWeight().multiply(new BigDecimal(-1));
//增加库存
HGKCUtils.HgKc010.updateInv(hgkc008A.getCompanyCode(),hgkc008A.getWhCode(),
hgkc008A.getInvSpecId(),qty,
hgkc008A.getInventCode(),qty,
invUnitWeight,invWeight);
}
}
......
......@@ -99,7 +99,7 @@ public class ServiceHGKC013A extends ServiceEPBase {
Object object = this.dao.get(HGKC013.QUERY,HGKC010.FIELD_ID,parentId);
if (object!=null){
Map map1 = MapUtils.toMap(object);
HGKC010 hgkc010 = HGKCTools.HgKc010.get(map1.get(HGKC013.FIELD_COMPANY_CODE).toString(),map1.get(HGKC013.FIELD_CALLOUT_WH_CODE).toString(),hgkc013a.getInventRecordId());
HGKC010 hgkc010 = HGKCTools.HgKc010.get(map1.get(HGKC013.FIELD_COMPANY_CODE).toString(),map1.get(HGKC013.FIELD_CALLOUT_WH_CODE).toString(),hgkc013a.getInventCode());
if (hgkc010==null){
throw new PlatException("实时库存不存在!");
}
......
......@@ -703,30 +703,30 @@ public class HGKCTools {
* @param specId
* @return
*/
public static void lock(String companyCode, String whCode, Long specId) {
if (StringUtils.isBlank(companyCode) || StringUtils.isBlank(whCode) || specId == null) {
public static void lock(String companyCode, String whCode, String inventCode) {
if (StringUtils.isBlank(companyCode) || StringUtils.isBlank(whCode) || StringUtils.isBlank(inventCode)) {
return;
}
Map paramMap = new HashMap();
paramMap.put("companyCode", companyCode);
paramMap.put("whCode", whCode);
paramMap.put("specId", specId);
paramMap.put("inventCode", inventCode);
DaoBase.getInstance().update(HGSqlConstant.HgKc010.LOCK, paramMap);
}
/**
* @param companyCode
* @param whCode
* @param specId
* @param inventCode
*/
public static HGKC010 get(String companyCode, String whCode, Long specId) {
public static HGKC010 get(String companyCode, String whCode, String inventCode) {
AssertUtils.isEmpty(companyCode, "公司编码不能为空");
AssertUtils.isEmpty(whCode, "仓库编码不能为空");
AssertUtils.isTrue(specId == null || specId == 0, "规格ID不能为空");
AssertUtils.isEmpty(inventCode, "物料编码不能为空");
Map paramMap = new HashMap();
paramMap.put("companyCode", companyCode);
paramMap.put("whCode", whCode);
paramMap.put("specId", specId);
paramMap.put("inventCode", inventCode);
List<HGKC010> results = DaoBase.getInstance().query(HGKC010.QUERY, paramMap);
return CollectionUtils.isEmpty(results) ? null : results.get(0);
}
......
......@@ -218,13 +218,13 @@ public class HGKCUtils {
*
* @param companyCode
* @param whCode
* @param specId
* @param inventCode
* @param qty
* @param weight
*/
public static void updateInv(String companyCode, String whCode, Long specId, BigDecimal qty,
public static void updateInv(String companyCode, String whCode, String inventCode, BigDecimal qty,
BigDecimal weight) {
updateInv(companyCode, whCode, specId, qty, null, weight);
updateInv(companyCode, whCode, inventCode, qty, null, weight);
}
/**
......@@ -232,20 +232,20 @@ public class HGKCUtils {
*
* @param companyCode
* @param whCode
* @param specId
* @param inventCode
* @param qty
* @param unitWeight
* @param weight
*/
public static void updateInv(String companyCode, String whCode, Long specId, BigDecimal qty,
public static void updateInv(String companyCode, String whCode, String inventCode, BigDecimal qty,
BigDecimal unitWeight, BigDecimal weight) {
HGKC010 newKc010 = buildBean(companyCode, whCode, specId, qty, unitWeight, weight);
HGKC010 newKc010 = buildBean(companyCode, whCode, inventCode, qty, unitWeight, weight);
// 参数校验
checkUpdateInv(companyCode, whCode, specId, qty, weight);
checkUpdateInv(companyCode, whCode, inventCode, qty, weight);
// 锁库存
HGKCTools.HgKc010.lock(companyCode, whCode, specId);
HGKCTools.HgKc010.lock(companyCode, whCode, inventCode);
// 获取DB数据
HGKC010 dbKc010 = HGKCTools.HgKc010.get(companyCode, whCode, specId);
HGKC010 dbKc010 = HGKCTools.HgKc010.get(companyCode, whCode, inventCode);
if (dbKc010 == null) {
addInvData(newKc010);
} else {
......@@ -258,18 +258,18 @@ public class HGKCUtils {
*
* @param companyCode
* @param whCode
* @param specId
* @param inventCode
* @param qty
* @param unitWeight
* @param weight
* @return
*/
private static HGKC010 buildBean(String companyCode, String whCode, Long specId, BigDecimal qty,
private static HGKC010 buildBean(String companyCode, String whCode, String inventCode, BigDecimal qty,
BigDecimal unitWeight, BigDecimal weight) {
HGKC010 newKc010 = new HGKC010();
newKc010.setCompanyCode(companyCode);
newKc010.setWhCode(whCode);
newKc010.setSpecId(specId);
newKc010.setInventCode(inventCode);
newKc010.setInvQty(qty);
newKc010.setInvUnitWeight(unitWeight);
newKc010.setInvWeight(weight);
......@@ -281,15 +281,15 @@ public class HGKCUtils {
*
* @param companyCode
* @param whCode
* @param specId
* @param inventCode
* @param qty
* @param weight
*/
private static void checkUpdateInv(String companyCode, String whCode, Long specId, BigDecimal qty,
private static void checkUpdateInv(String companyCode, String whCode, String inventCode, BigDecimal qty,
BigDecimal weight) {
AssertUtils.isEmpty(companyCode, "公司编码不能为空");
AssertUtils.isEmpty(whCode, "仓库编码不能为空");
AssertUtils.isTrue(specId == null || specId == 0, "规格ID不能为空");
AssertUtils.isEmpty(inventCode, "物料编码不能为空");
AssertUtils.isNull(qty, "库存变更数量不能为空");
AssertUtils.isNull(weight, "库存变更重量不能为空");
AssertUtils.isTrue(qty.compareTo(BigDecimal.ZERO) == 0
......@@ -307,7 +307,7 @@ public class HGKCUtils {
// 仓库
newKc010.setWhName(HGPZTools.HgPz007.get(newKc010.getWhCode()).getWhName());
// 规格
HGPZ005 dbPz005 = HGPZTools.HgPz005.get(newKc010.getSpecId());
HGPZ005 dbPz005 = HGPZTools.HgPz005.get(newKc010.getInventCode());
newKc010.setInventType(dbPz005.getInventType());
newKc010.setInventCode(dbPz005.getInventCode());
newKc010.setInventName(dbPz005.getInventName());
......
......@@ -235,12 +235,12 @@ public class HGPZTools {
*/
public static class HgPz005 {
public static HGPZ005 get(Long id) {
AssertUtils.isNull(id, "规格ID不能为空");
public static HGPZ005 get(String inventCode) {
AssertUtils.isNull(inventCode, "物料编码不能为空");
Map queryMap = new HashMap();
queryMap.put("id", id);
queryMap.put("inventCode", inventCode);
List<HGPZ005> results = DaoBase.getInstance().query(HGPZ005.QUERY, queryMap);
AssertUtils.isEmpty(results, String.format("规格[%s]不存在", id));
AssertUtils.isEmpty(results, String.format("物料编码[%s]不存在", inventCode));
return results.get(0);
}
......@@ -391,11 +391,11 @@ public class HGPZTools {
/**
* 计算单重
*
* @param id
* @param inventCode
* @return
*/
public static BigDecimal calcUnitWeight(Long id) {
HGPZ005 hgpz005 = get(id);
public static BigDecimal calcUnitWeight(String inventCode) {
HGPZ005 hgpz005 = get(inventCode);
return calcUnitWeight(hgpz005);
}
......@@ -567,11 +567,11 @@ public class HGPZTools {
*/
public static void setSpecInfo(DaoEPBase bean, String keyName) {
try {
String inventRecordId = BeanUtils.getProperty(bean, keyName);
if (StringUtils.isBlank(inventRecordId)) {
String inventCode = BeanUtils.getProperty(bean, keyName);
if (StringUtils.isBlank(inventCode)) {
return;
}
HGPZ005 dbPz06 = get(Long.parseLong(inventRecordId));
HGPZ005 dbPz06 = get(inventCode);
BeanUtils.setProperty(bean, HGPZ005.FIELD_SPEC, dbPz06.getSpec());
BeanUtils.setProperty(bean, HGPZ005.FIELD_LENGTH, dbPz06.getLength());
BeanUtils.setProperty(bean, HGPZ005.FIELD_WIDTH, dbPz06.getWidth());
......
......@@ -110,7 +110,7 @@ public class ServiceHGYX001 extends ServiceEPBase {
HGYX001A hgyx001A = new HGYX001A();
hgyx001A.fromMap(resultRow);
hgyx001A.setParentId(hgyx001.getId());
HGKC010 hgkc010 = HGKCTools.HgKc010.get(hgyx001.getCompanyCode(), hgyx001.getConsWhCode(), hgyx001A.getInventRecordId());
HGKC010 hgkc010 = HGKCTools.HgKc010.get(hgyx001.getCompanyCode(), hgyx001.getConsWhCode(), hgyx001A.getInventCode());
if (hgkc010 == null) {
throw new PlatException("库存不足!");
}
......@@ -127,7 +127,7 @@ public class ServiceHGYX001 extends ServiceEPBase {
HGYX001A hgyx001A = new HGYX001A();
hgyx001A.fromMap(resultRow);
hgyx001A.setParentId(hgyx001.getId());
HGKC010 hgkc010 = HGKCTools.HgKc010.get(hgyx001.getCompanyCode(), hgyx001.getConsWhCode(), hgyx001A.getInventRecordId());
HGKC010 hgkc010 = HGKCTools.HgKc010.get(hgyx001.getCompanyCode(), hgyx001.getConsWhCode(), hgyx001A.getInventCode());
if (hgkc010 == null) {
throw new PlatException("库存不足!");
}
......@@ -254,7 +254,7 @@ public class ServiceHGYX001 extends ServiceEPBase {
*/
public void addHGKC004A(List<HGYX001A> hgyx001As, HGKC004 hgkc004) {
for (HGYX001A hgyx001A : hgyx001As) {
HGKC010 hgkc010 = HGKCTools.HgKc010.get(hgkc004.getCompanyCode(), hgkc004.getWhCode(), hgyx001A.getInventRecordId());
HGKC010 hgkc010 = HGKCTools.HgKc010.get(hgkc004.getCompanyCode(), hgkc004.getWhCode(), hgyx001A.getInventCode());
if (hgkc010 == null) {
throw new PlatException("库存不足!");
}
......@@ -300,7 +300,7 @@ public class ServiceHGYX001 extends ServiceEPBase {
HGYX001A hgyx001A = new HGYX001A();
hgyx001A.fromMap(resultRow);
hgyx001A.setParentId(hgyx001.getId());
HGKC010 hgkc010 = HGKCTools.HgKc010.get(hgyx001.getCompanyCode(), hgyx001.getConsWhCode(), hgyx001A.getInventRecordId());
HGKC010 hgkc010 = HGKCTools.HgKc010.get(hgyx001.getCompanyCode(), hgyx001.getConsWhCode(), hgyx001A.getInventCode());
if (hgkc010 == null) {
throw new PlatException("库存不足!");
}
......@@ -319,7 +319,7 @@ public class ServiceHGYX001 extends ServiceEPBase {
HGYX001A hgyx001A = new HGYX001A();
hgyx001A.fromMap(resultRow);
hgyx001A.setParentId(hgyx001.getId());
HGKC010 hgkc010 = HGKCTools.HgKc010.get(hgyx001.getCompanyCode(), hgyx001.getConsWhCode(), hgyx001A.getInventRecordId());
HGKC010 hgkc010 = HGKCTools.HgKc010.get(hgyx001.getCompanyCode(), hgyx001.getConsWhCode(), hgyx001A.getInventCode());
if (hgkc010 == null) {
throw new PlatException("库存不足!");
}
......
......@@ -65,7 +65,7 @@ public class ServiceHGZL001B extends ServiceEPBase {
public EiInfo query(EiInfo inInfo) {
try {
Map queryMap = EiInfoUtils.getFirstRow(inInfo);
queryMap.put(HGCG003.FIELD_STATUS, HGConstant.CgReceiveStatus.S_2);
queryMap.put(HGCG003.FIELD_STATUS, HGConstant.CgReceiveStatus.S_0);
inInfo = super.query(inInfo, HGCG003.QUERY, new HGCG003());
} catch (Exception e) {
LogUtils.setDetailMsg(inInfo, e, "查询失败");
......@@ -104,8 +104,8 @@ public class ServiceHGZL001B extends ServiceEPBase {
for (HGCG003 fCg003 : fCg003s) {
String receiveNo = fCg003.getReceiveNo();
HGCG003 dbSc003 = dbCg003Map.get(fCg003.getReceiveNo());
AssertUtils.isNotEquals(HGConstant.CgReceiveStatus.S_2, dbSc003.getStatus(),
String.format("采购收货单[%s]状态不是\"已收货\",不允许操作", receiveNo));
AssertUtils.isNotEquals(HGConstant.CgReceiveStatus.S_0, dbSc003.getStatus(),
String.format("采购收货单[%s]状态不是\"待确认\",不允许操作", receiveNo));
}
}
......
Markdown is supported
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