Commit 80be0ed2 by liuyang

Merge branch 'dev' of http://git.pseer.com/platform/hp-smart into dev-ly

parents e4184e50 0c775e13
......@@ -68,7 +68,7 @@ public class HPCG003 extends DaoEPBase {
private String updatedBy = " "; /* 修改人*/
private String updatedName = " "; /* 修改人名称*/
private String updatedTime = " "; /* 修改时间*/
private Boolean deleteFlag; /* 是否删除 0-否1-是*/
private Integer deleteFlag = 0; /* 是否删除 0-否1-是*/
private String proOrderDate = " "; /* 采购订单日期*/
private String proOrderNo = " "; /* 采购订单单号*/
private String proPlanNo = " "; /* 采购计划单号*/
......@@ -300,7 +300,7 @@ public class HPCG003 extends DaoEPBase {
* get the deleteFlag - 是否删除 0-否1-是.
* @return the deleteFlag
*/
public Boolean getDeleteFlag() {
public Integer getDeleteFlag() {
return this.deleteFlag;
}
......@@ -309,7 +309,7 @@ public class HPCG003 extends DaoEPBase {
*
* @param deleteFlag - 是否删除 0-否1-是
*/
public void setDeleteFlag(Boolean deleteFlag) {
public void setDeleteFlag(Integer deleteFlag) {
this.deleteFlag = deleteFlag;
}
/**
......@@ -409,7 +409,7 @@ public class HPCG003 extends DaoEPBase {
setUpdatedBy(StringUtils.defaultIfEmpty(StringUtils.toString(map.get(FIELD_UPDATED_BY)), updatedBy));
setUpdatedName(StringUtils.defaultIfEmpty(StringUtils.toString(map.get(FIELD_UPDATED_NAME)), updatedName));
setUpdatedTime(StringUtils.defaultIfEmpty(StringUtils.toString(map.get(FIELD_UPDATED_TIME)), updatedTime));
setDeleteFlag(NumberUtils.toBoolean(StringUtils.toString(map.get(FIELD_DELETE_FLAG)), deleteFlag));
setDeleteFlag(NumberUtils.toInteger(StringUtils.toString(map.get(FIELD_DELETE_FLAG)), deleteFlag));
setProOrderDate(StringUtils.defaultIfEmpty(StringUtils.toString(map.get(FIELD_PRO_ORDER_DATE)), proOrderDate));
setProOrderNo(StringUtils.defaultIfEmpty(StringUtils.toString(map.get(FIELD_PRO_ORDER_NO)), proOrderNo));
setProPlanNo(StringUtils.defaultIfEmpty(StringUtils.toString(map.get(FIELD_PRO_PLAN_NO)), proPlanNo));
......
......@@ -89,7 +89,7 @@ public class HPCG003A extends DaoEPBase {
private String updatedBy = " "; /* 修改人*/
private String updatedName = " "; /* 修改人名称*/
private String updatedTime = " "; /* 修改时间*/
private Boolean deleteFlag; /* 是否删除 0-否1-是*/
private Integer deleteFlag = 0; /* 是否删除 0-否1-是*/
private String whCode = " "; /* 仓库编码*/
private String whName = " "; /* 仓库名称*/
private String inventType = " "; /* 存货类型*/
......@@ -386,7 +386,7 @@ public class HPCG003A extends DaoEPBase {
* get the deleteFlag - 是否删除 0-否1-是.
* @return the deleteFlag
*/
public Boolean getDeleteFlag() {
public Integer getDeleteFlag() {
return this.deleteFlag;
}
......@@ -395,7 +395,7 @@ public class HPCG003A extends DaoEPBase {
*
* @param deleteFlag - 是否删除 0-否1-是
*/
public void setDeleteFlag(Boolean deleteFlag) {
public void setDeleteFlag(Integer deleteFlag) {
this.deleteFlag = deleteFlag;
}
/**
......@@ -655,7 +655,7 @@ public class HPCG003A extends DaoEPBase {
setUpdatedBy(StringUtils.defaultIfEmpty(StringUtils.toString(map.get(FIELD_UPDATED_BY)), updatedBy));
setUpdatedName(StringUtils.defaultIfEmpty(StringUtils.toString(map.get(FIELD_UPDATED_NAME)), updatedName));
setUpdatedTime(StringUtils.defaultIfEmpty(StringUtils.toString(map.get(FIELD_UPDATED_TIME)), updatedTime));
setDeleteFlag(NumberUtils.toBoolean(StringUtils.toString(map.get(FIELD_DELETE_FLAG)), deleteFlag));
setDeleteFlag(NumberUtils.toInteger(StringUtils.toString(map.get(FIELD_DELETE_FLAG)), deleteFlag));
setWhCode(StringUtils.defaultIfEmpty(StringUtils.toString(map.get(FIELD_WH_CODE)), whCode));
setWhName(StringUtils.defaultIfEmpty(StringUtils.toString(map.get(FIELD_WH_NAME)), whName));
setInventType(StringUtils.defaultIfEmpty(StringUtils.toString(map.get(FIELD_INVENT_TYPE)), inventType));
......
......@@ -3,16 +3,17 @@ package com.baosight.hpjx.hp.cg.service;
import com.baosight.hpjx.aspect.annotation.OperationLogAnnotation;
import com.baosight.hpjx.common.DdynamicEnum;
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.security.UserSessionUtils;
import com.baosight.hpjx.hp.cg.domain.HPCG002;
import com.baosight.hpjx.hp.cg.domain.HPCG002A;
import com.baosight.hpjx.hp.cg.domain.*;
import com.baosight.hpjx.hp.constant.HPConstant;
import com.baosight.hpjx.hp.kc.domain.HPKC001;
import com.baosight.hpjx.hp.xs.domain.HPXS006;
import com.baosight.hpjx.util.CommonMethod;
import com.baosight.hpjx.util.DateUtils;
import com.baosight.hpjx.util.LogUtils;
import com.baosight.hpjx.util.StringUtil;
import com.baosight.hpjx.util.contants.ACConstants;
import com.baosight.iplat4j.core.ei.EiBlock;
import com.baosight.iplat4j.core.ei.EiConstant;
......@@ -22,6 +23,7 @@ import com.baosight.iplat4j.core.service.impl.ServiceBase;
import com.baosight.iplat4j.ed.util.SequenceGenerator;
import java.util.*;
import java.util.stream.Collectors;
/**
*
......@@ -150,6 +152,7 @@ public class ServiceHPCG002A extends ServiceBase {
EiInfo inInfo = new EiInfo();
HPCG002 hpcg002 = new HPCG002();
try {
//更新选中数据提交状态
for (int i = 0; i < eiBlock.getRowCount(); i++) {
Map<?, ?> map = eiBlock.getRow(i);
hpcg002A.fromMap(map);
......@@ -158,21 +161,66 @@ public class ServiceHPCG002A extends ServiceBase {
inInfo.setCell(EiConstant.queryBlock,ACConstants.ROW_CODE_0, HPCG002A.FIELD_PARENT_ID,hpcg002A.getParentId());
DaoUtils.update(HPCG002A.CHECK, hpcg002A.toMap());
}
//统计提交状态
EiInfo outInfo = super.query(inInfo, HPCG002A.QUERY, new HPCG002A());
EiBlock outBlock = outInfo.getBlock(EiConstant.resultBlock);
String inventType = "";
Integer num = 0;
for (int i = 0; i < outBlock.getRowCount(); i++) {
Map<?, ?> map = outBlock.getRow(i);
hpcg002A.fromMap(map);
inventType = hpcg002A.getInventType();
if(hpcg002A.getProApplyStatus()==1){
num = num+1;
}
DaoUtils.update(HPCG002A.CHECK, hpcg002A.toMap());
}
if(num==outBlock.getRowCount()&&hpcg002.getProPlanStatus()!=2){
//全提交更新状态
hpcg002.setProPlanStatus(2);
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){
//部分交更新状态
hpcg002.setProPlanStatus(1);
DaoUtils.update(HPCG002.CHECK, hpcg002.toMap());
}
......
......@@ -31,6 +31,9 @@
</sql>
<sql id="condition">
<isNotEmpty prepend=" AND " property="id">
ID = #id#
</isNotEmpty>
<isNotEmpty prepend=" AND " property="companyCode">
COMPANY_CODE = #companyCode#
</isNotEmpty>
......@@ -52,6 +55,12 @@
<isNotEmpty prepend=" AND " property="proPlanStatus">
PRO_PLAN_STATUS = #proPlanStatus#
</isNotEmpty>
<isNotEmpty prepend=" AND " property="createdDateFrom">
PRO_PLAN_DATE &gt;= #createdDateFrom#
</isNotEmpty>
<isNotEmpty prepend=" AND " property="createdDateTo">
PRO_PLAN_DATE &lt;= #createdDateTo#
</isNotEmpty>
</sql>
<select id="query" parameterClass="java.util.HashMap"
......@@ -79,7 +88,7 @@
$orderBy$
</isNotEmpty>
<isEmpty property="orderBy">
ID asc
CREATED_TIME desc
</isEmpty>
</dynamic>
......
......@@ -134,13 +134,15 @@
A.PARENT_ID as "parentId", <!-- 父级ID -->
ifnull(B.AMOUNT,0) as "invAmount", <!-- 库存数量 -->
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)
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
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
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-全部提交 -->
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
......@@ -154,7 +156,7 @@
$orderBy$
</isNotEmpty>
<isEmpty property="orderBy">
ID asc
A.CREATED_TIME desc
</isEmpty>
</dynamic>
......
......@@ -70,6 +70,8 @@ public class HPConstant {
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_ORDER_NO = "PRO_ORDER_NO";
}
/**
......
......@@ -37,14 +37,13 @@
<EF:EFColumn ename="id" primaryKey="true" cname="主键" hidden="true"/>
<EF:EFColumn ename="companyCode" cname="公司编码" hidden="true"/>
<EF:EFColumn ename="operator" cname="操作" locked="true" enable="false" width="120" align="center"/>
<EF:EFColumn ename="proPlanDate" cname="采购计划日期" width="100" align="center" editType="date" readonly="false"
dateFormat="yyyy-MM-dd" parseFormats="['yyyyMMdd']" required="true"/>
<EF:EFColumn ename="proPlanDate" cname="采购计划日期" width="100" align="center" editType="date" readonly="true"
dateFormat="yyyy-MM-dd" parseFormats="['yyyyMMdd']" />
<EF:EFColumn ename="proPlanNo" cname="采购计划单号" enable="false" width="140" align="center"/>
<EF:EFComboColumn ename="inventType" cname="存货类型" width="80" align="center" required="true"
readonly="true">
<EF:EFComboColumn ename="inventType" cname="存货类型" width="80" align="center" readonly="true">
<EF:EFCodeOption codeName="hpjx.hpkc.inventType" condition="ITEM_CODE IN ('1', '2')"/>
</EF:EFComboColumn>
<EF:EFComboColumn ename="proPlanStatus" cname="提交状态" width="80" align="center" readonly="true" required="true" defaultValue="0">
<EF:EFComboColumn ename="proPlanStatus" cname="提交状态" width="80" align="center" readonly="true" defaultValue="0">
<EF:EFCodeOption codeName="hpjx.hpcg.proPlanStatus"/>
</EF:EFComboColumn>
<%-- <EF:EFColumn cname="创建人" ename="createdName" align="center" width="150" readonly="true" required="false" enable="false"/>
......
......@@ -16,10 +16,11 @@
<EF:EFRegion id="inqu" title="查询条件">
<div class="row">
<EF:EFInput cname="采购申请单号" ename="inqu_status-0-proApplyNo" colWidth="3"/>
<EF:EFSelect cname="供应商名称" ename="inqu_status-0-repCustomId" colWidth="3" filter="contains" defultValue="">
<EF:EFSelect cname="供应商名称" ename="inqu_status-0-custCode" colWidth="3" filter="contains" defultValue="">
<EF:EFOption label="全部" value=""/>
<EF:EFOptions blockId="supplier_record_block_id" textField="textField" valueField="valueField"/>
</EF:EFSelect>
<EF:EFInput cname="父ID" ename="inqu_status-0-parentId" colWidth="3" type="hidden"/>
</div>
</EF:EFRegion>
......@@ -42,8 +43,7 @@
filter="contains" readonly="true">
<EF:EFOptions blockId="factory_record_block_id" valueField="valueField" textField="textField"/>
</EF:EFComboColumn>
<EF:EFComboColumn ename="inventType" cname="存货类型" width="80" align="center" required="true"
readonly="true">
<EF:EFComboColumn ename="inventType" cname="存货类型" width="80" align="center" readonly="true">
<EF:EFCodeOption codeName="hpjx.hpkc.inventType" condition="ITEM_CODE IN ('1', '2')"/>
</EF:EFComboColumn>
<EF:EFColumn ename="whCode" cname="仓库名称" width="120" align="center" readonly="true"/>
......
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