Commit 817f4be7 by 宋祥

1.修复生产领料提交BUG

parent 4ef69092
...@@ -179,44 +179,34 @@ public class ServiceHGKC008 extends ServiceBase { ...@@ -179,44 +179,34 @@ public class ServiceHGKC008 extends ServiceBase {
/** /**
* 修改启用状态 * 修改启用状态
*
* @param inInfo * @param inInfo
* @return * @return
*/ */
public EiInfo updateStatus(EiInfo inInfo){ public EiInfo updateStatus(EiInfo inInfo){
int i = 0;
try { try {
HGKC008 hgkc008 = new HGKC008(); HGKC008 fKc008 = MapUtils.toDaoEPBase(inInfo, HGKC008.class);
EiBlock eiBlock = inInfo.getBlock(EiConstant.resultBlock);
for (i = 0; i < eiBlock.getRowCount(); i++) {
Map<?, ?> map = eiBlock.getRow(i);
hgkc008.fromMap(map);
//查看是否能获取到账期,获取不到就提示 //查看是否能获取到账期,获取不到就提示
HGKC008 getKc008 = HGKCTools.HgKc008.getById(hgkc008.getId()); HGKC008 getKc008 = HGKCTools.HgKc008.getById(fKc008.getId());
HGCWTools.HgCw001.getAccountPeriod(getKc008.getCompanyCode(),getKc008.getReceiptDate()); HGCWTools.HgCw001.getAccountPeriod(getKc008.getCompanyCode(), getKc008.getReceiptDate());
DaoUtils.update(HGKC008.UPDATE_STATUS, hgkc008.toMap()); HGKCTools.HgKc008A.updateStatus(fKc008.getApplyCode(), HgKcConst.HgKc008.Status.S1);
} List<HGKC008A> dbKc008As = HGKCTools.HgKc008A.getHgkc008aList(fKc008.getId());
List<HGKC008A> hgkc008AList = HGKCTools.HgKc008A.getHgkc008aList(hgkc008.getId()); if (!CollectionUtils.isEmpty(dbKc008As)) {
if(!CollectionUtils.isEmpty(hgkc008AList)){ for (HGKC008A dbKc008A : dbKc008As) {
for (HGKC008A hgkc008A : hgkc008AList) {
// 更新明细状态 // 更新明细状态
HGKCTools.HgKc008A.updateStatus(hgkc008A.getApplyLineCode(), HgKcConst.HgKc008.Status.S1); HGKCTools.HgKc008A.updateStatus(dbKc008A.getApplyLineCode(), HgKcConst.HgKc008.Status.S1);
//领料如果是正数则为出库,需要减少库存,如果是退回则要加库存 // 领料如果是正数则为出库,需要减少库存,如果是退回则要加库存
BigDecimal qty = hgkc008A.getInvQty().multiply(new BigDecimal(-1)); BigDecimal qty = dbKc008A.getInvQty().multiply(new BigDecimal(-1));
BigDecimal invUnitWeight = hgkc008A.getInvUnitWeight().multiply(new BigDecimal(-1)); BigDecimal invUnitWeight = dbKc008A.getInvUnitWeight().multiply(new BigDecimal(-1));
BigDecimal invWeight = hgkc008A.getInvWeight().multiply(new BigDecimal(-1)); BigDecimal invWeight = dbKc008A.getInvWeight().multiply(new BigDecimal(-1));
//增加库存 // 增加库存
HGKCUtils.HgKc010.updateInv(hgkc008A.getCompanyCode(), hgkc008A.getWhCode(), HGKCUtils.HgKc010.updateInv(dbKc008A.getCompanyCode(), dbKc008A.getWhCode(),
hgkc008A.getInventCode(), qty, invUnitWeight, invWeight); dbKc008A.getInventCode(), qty, invUnitWeight, invWeight);
} }
} }
inInfo.setStatus(EiConstant.STATUS_SUCCESS); inInfo.setMsg("提交成功!");
inInfo.setMsgByKey("ep.1000", new String[]{String.valueOf(i), I18nMessages.getText("label.update", "修改")}); } catch (Exception e) {
} catch (PlatException e) { LogUtils.setMsg(inInfo, e, "提交失败");
e.printStackTrace();
inInfo.setStatus(EiConstant.STATUS_FAILURE);
ErrorCodeUtils.handleUpdateException(inInfo,i,e);
logError("修改失败", e.getMessage());
return inInfo;
} }
return inInfo; return inInfo;
} }
......
...@@ -462,7 +462,8 @@ public class HGKCUtils { ...@@ -462,7 +462,8 @@ public class HGKCUtils {
*/ */
private static void updateInvData(HGKC010 newKc010, HGKC010 dbKc010) { private static void updateInvData(HGKC010 newKc010, HGKC010 dbKc010) {
BigDecimal newQty = newKc010.getInvQty().add(dbKc010.getInvQty()); BigDecimal newQty = newKc010.getInvQty().add(dbKc010.getInvQty());
AssertUtils.isGt(BigDecimal.ZERO, newQty, String.format("更新后的库存数量小于0(%s),请检查", newQty)); AssertUtils.isGt(BigDecimal.ZERO, newQty, String.format("更新后的库存数量小于0(%s),请检查",
newQty.stripTrailingZeros().toPlainString()));
BigDecimal newWeight = newQty.compareTo(BigDecimal.ZERO) == 0 ? BigDecimal.ZERO BigDecimal newWeight = newQty.compareTo(BigDecimal.ZERO) == 0 ? BigDecimal.ZERO
: newKc010.getInvWeight().add(dbKc010.getInvWeight()); : newKc010.getInvWeight().add(dbKc010.getInvWeight());
BigDecimal newUnitWeight = newQty.compareTo(BigDecimal.ZERO) == 0 ? BigDecimal.ZERO BigDecimal newUnitWeight = newQty.compareTo(BigDecimal.ZERO) == 0 ? BigDecimal.ZERO
......
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