Commit 7d914c17 by wancheng

采购计划更新

parent 2781d5ed
...@@ -3,16 +3,17 @@ package com.baosight.hpjx.hp.cg.service; ...@@ -3,16 +3,17 @@ package com.baosight.hpjx.hp.cg.service;
import com.baosight.hpjx.aspect.annotation.OperationLogAnnotation; import com.baosight.hpjx.aspect.annotation.OperationLogAnnotation;
import com.baosight.hpjx.common.DdynamicEnum; import com.baosight.hpjx.common.DdynamicEnum;
import com.baosight.hpjx.common.InventTypeEnum; import com.baosight.hpjx.common.InventTypeEnum;
import com.baosight.hpjx.core.constant.CommonConstant;
import com.baosight.hpjx.core.dao.DaoUtils; import com.baosight.hpjx.core.dao.DaoUtils;
import com.baosight.hpjx.core.security.UserSessionUtils; import com.baosight.hpjx.core.security.UserSessionUtils;
import com.baosight.hpjx.hp.cg.domain.HPCG002; import com.baosight.hpjx.hp.cg.domain.*;
import com.baosight.hpjx.hp.cg.domain.HPCG002A;
import com.baosight.hpjx.hp.constant.HPConstant; import com.baosight.hpjx.hp.constant.HPConstant;
import com.baosight.hpjx.hp.kc.domain.HPKC001; import com.baosight.hpjx.hp.kc.domain.HPKC001;
import com.baosight.hpjx.hp.xs.domain.HPXS006; import com.baosight.hpjx.hp.xs.domain.HPXS006;
import com.baosight.hpjx.util.CommonMethod; import com.baosight.hpjx.util.CommonMethod;
import com.baosight.hpjx.util.DateUtils; import com.baosight.hpjx.util.DateUtils;
import com.baosight.hpjx.util.LogUtils; import com.baosight.hpjx.util.LogUtils;
import com.baosight.hpjx.util.StringUtil;
import com.baosight.hpjx.util.contants.ACConstants; import com.baosight.hpjx.util.contants.ACConstants;
import com.baosight.iplat4j.core.ei.EiBlock; import com.baosight.iplat4j.core.ei.EiBlock;
import com.baosight.iplat4j.core.ei.EiConstant; import com.baosight.iplat4j.core.ei.EiConstant;
...@@ -22,6 +23,7 @@ import com.baosight.iplat4j.core.service.impl.ServiceBase; ...@@ -22,6 +23,7 @@ import com.baosight.iplat4j.core.service.impl.ServiceBase;
import com.baosight.iplat4j.ed.util.SequenceGenerator; import com.baosight.iplat4j.ed.util.SequenceGenerator;
import java.util.*; import java.util.*;
import java.util.stream.Collectors;
/** /**
* *
...@@ -160,10 +162,12 @@ public class ServiceHPCG002A extends ServiceBase { ...@@ -160,10 +162,12 @@ public class ServiceHPCG002A extends ServiceBase {
} }
EiInfo outInfo = super.query(inInfo, HPCG002A.QUERY, new HPCG002A()); EiInfo outInfo = super.query(inInfo, HPCG002A.QUERY, new HPCG002A());
EiBlock outBlock = outInfo.getBlock(EiConstant.resultBlock); EiBlock outBlock = outInfo.getBlock(EiConstant.resultBlock);
String inventType = "";
Integer num = 0; Integer num = 0;
for (int i = 0; i < outBlock.getRowCount(); i++) { for (int i = 0; i < outBlock.getRowCount(); i++) {
Map<?, ?> map = outBlock.getRow(i); Map<?, ?> map = outBlock.getRow(i);
hpcg002A.fromMap(map); hpcg002A.fromMap(map);
inventType = hpcg002A.getInventType();
if(hpcg002A.getProApplyStatus()==1){ if(hpcg002A.getProApplyStatus()==1){
num = num+1; num = num+1;
} }
...@@ -172,6 +176,46 @@ public class ServiceHPCG002A extends ServiceBase { ...@@ -172,6 +176,46 @@ public class ServiceHPCG002A extends ServiceBase {
if(num==outBlock.getRowCount()&&hpcg002.getProPlanStatus()!=2){ if(num==outBlock.getRowCount()&&hpcg002.getProPlanStatus()!=2){
hpcg002.setProPlanStatus(2); hpcg002.setProPlanStatus(2);
DaoUtils.update(HPCG002.CHECK, hpcg002.toMap()); DaoUtils.update(HPCG002.CHECK, hpcg002.toMap());
//全部提交后,生成采购订单
List<Map<Object,Object>> list = outBlock.getRows();
Map<Object,List<Map>> listMap = list.stream().collect(Collectors.groupingBy(map -> map.get(HPCG002A.FIELD_CUST_CODE)));
//获取采购计划
List<HPCG002> hpcg002s = this.dao.query(HPCG002.QUERY,new HashMap<String,Object>(){{
put(HPCG002.FIELD_ID,hpcg002.getId());
}});
for (Object str: listMap.keySet()) {
HPCG003 hpcg003 = new HPCG003();
hpcg003.toMap();
hpcg003.setProOrderDate(StringUtil.removeHorizontalLine(DateUtils.date()));
hpcg003.setCustCode(str.toString());
hpcg003.setInventType(inventType);
hpcg003.setProPlanNo(hpcg002s.get(0).getProPlanNo());
//生成采购订单单号
hpcg003.setProPlanNo(SequenceGenerator.getNextSequence(HPConstant.SequenceId.PRO_ORDER_NO));
//添加采购订单
DaoUtils.insert(HPCG003.INSERT,hpcg003);
List<HPCG003> hpcg003s = this.dao.query(HPCG003.QUERY,new HashMap<String,Object>(){{
put(HPCG003.FIELD_INVENT_TYPE,hpcg003.getInventType());
put(HPCG003.FIELD_PRO_ORDER_DATE,hpcg003.getProOrderDate());
put(HPCG003.FIELD_PRO_ORDER_NO,hpcg003.getProOrderNo());
put(HPCG003.FIELD_PRO_PLAN_NO,hpcg003.getProPlanNo());
put(HPCG003.COL_CUST_CODE,hpcg003.getCustCode());
}});
List<Map> hpcg002aList = listMap.get(str);
for (Map value : hpcg002aList) {
HPCG002A hpcg002a = new HPCG002A();
hpcg002a.fromMap(value);
//添加采购订单详情
HPCG003A hpcg003a = new HPCG003A();
hpcg003a.fromMap(value);
hpcg003a.setParentId(hpcg003s.get(0).getId());
hpcg003a.setId(0L);
hpcg003a.setProAmount(hpcg002a.getPlanAmount());
hpcg003a.setProWeight(hpcg002a.getPlanWeight());
DaoUtils.insert(HPCG003A.INSERT, hpcg003a);
}
}
}else if(num!=outBlock.getRowCount()&&hpcg002.getProPlanStatus()!=1){ }else if(num!=outBlock.getRowCount()&&hpcg002.getProPlanStatus()!=1){
hpcg002.setProPlanStatus(1); hpcg002.setProPlanStatus(1);
DaoUtils.update(HPCG002.CHECK, hpcg002.toMap()); DaoUtils.update(HPCG002.CHECK, hpcg002.toMap());
......
...@@ -134,13 +134,15 @@ ...@@ -134,13 +134,15 @@
A.PARENT_ID as "parentId", <!-- 父级ID --> A.PARENT_ID as "parentId", <!-- 父级ID -->
ifnull(B.AMOUNT,0) as "invAmount", <!-- 库存数量 --> ifnull(B.AMOUNT,0) as "invAmount", <!-- 库存数量 -->
ifnull(B.WEIGHT,0) as "invWeight", <!-- 库存重量 --> ifnull(B.WEIGHT,0) as "invWeight", <!-- 库存重量 -->
case when A.APPLY_AMOUNT > ifnull(B.AMOUNT,0) A.PLAN_AMOUNT as "planAmount", <!-- 计划数量 -->
A.PLAN_WEIGHT as "planWeight", <!-- 计划重量 -->
<!-- case when A.APPLY_AMOUNT > ifnull(B.AMOUNT,0)
then A.APPLY_AMOUNT - ifnull(B.AMOUNT,0) then A.APPLY_AMOUNT - ifnull(B.AMOUNT,0)
else A.APPLY_AMOUNT end as "planAmount", <!-- 计划数量 --> else A.APPLY_AMOUNT end as "planAmount", &lt;!&ndash; 计划数量 &ndash;&gt;
case when A.PLAN_WEIGHT != 0 then A.PLAN_WEIGHT case when A.PLAN_WEIGHT != 0 then A.PLAN_WEIGHT
when A.PLAN_WEIGHT != 0 and A.APPLY_AMOUNT > ifnull(B.AMOUNT,0) when A.PLAN_WEIGHT != 0 and A.APPLY_AMOUNT > ifnull(B.AMOUNT,0)
then (A.APPLY_AMOUNT - ifnull(B.AMOUNT,0))*A.APPLY_UNIT_WEIGHT then (A.APPLY_AMOUNT - ifnull(B.AMOUNT,0))*A.APPLY_UNIT_WEIGHT
else A.APPLY_WEIGHT end as "planWeight", <!-- 计划重量 --> else A.APPLY_WEIGHT end as "planWeight", &lt;!&ndash; 计划重量 &ndash;&gt;-->
C.PRO_PLAN_STATUS as "proPlanStatus" <!-- 采购计划提交状态 0-未提交 1-部分提交 2-全部提交 --> C.PRO_PLAN_STATUS as "proPlanStatus" <!-- 采购计划提交状态 0-未提交 1-部分提交 2-全部提交 -->
FROM ${hpjxSchema}.T_HPCG002A A FROM ${hpjxSchema}.T_HPCG002A A
LEFT JOIN ${hpjxSchema}.T_HPKC010 B ON A.WH_CODE = B.WH_CODE AND A.INVENT_CODE = B.INVENT_CODE AND A.INVENT_RECORD_ID = B.INVENT_RECORD_ID LEFT JOIN ${hpjxSchema}.T_HPKC010 B ON A.WH_CODE = B.WH_CODE AND A.INVENT_CODE = B.INVENT_CODE AND A.INVENT_RECORD_ID = B.INVENT_RECORD_ID
......
...@@ -70,6 +70,8 @@ public class HPConstant { ...@@ -70,6 +70,8 @@ public class HPConstant {
public static final String PRO_APPLY_NO = "PRO_APPLY_NO"; public static final String PRO_APPLY_NO = "PRO_APPLY_NO";
//采购计划单号 //采购计划单号
public static final String PRO_PLAN_NO = "PRO_PLAN_NO"; public static final String PRO_PLAN_NO = "PRO_PLAN_NO";
//采购订单单号
public static final String PRO_ORDER_NO = "PRO_ORDER_NO";
} }
/** /**
......
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