Commit 0574c543 by 江和松

物料清单处理树结构时需要带上id参数了,不能使用code来进行处理

parent 5db22179
...@@ -63,6 +63,7 @@ public class HGKC003 extends DaoEPBase { ...@@ -63,6 +63,7 @@ public class HGKC003 extends DaoEPBase {
public static final String FIELD_PART_WIDTH = "partWidth"; /* 零件-宽*/ public static final String FIELD_PART_WIDTH = "partWidth"; /* 零件-宽*/
public static final String FIELD_PART_THICK = "partThick"; /* 零件-厚*/ public static final String FIELD_PART_THICK = "partThick"; /* 零件-厚*/
public static final String FIELD_PART_SPEC = "partSpec"; /* 零件规格*/ public static final String FIELD_PART_SPEC = "partSpec"; /* 零件规格*/
public static final String FIELD_SUBMIT_STATUS = "submitStatus"; /* 提交状态 0未提交,1已提交*/
public static final String COL_ID = "ID"; public static final String COL_ID = "ID";
public static final String COL_ACCOUNT_CODE = "ACCOUNT_CODE"; /* 企业编码*/ public static final String COL_ACCOUNT_CODE = "ACCOUNT_CODE"; /* 企业编码*/
...@@ -104,6 +105,7 @@ public class HGKC003 extends DaoEPBase { ...@@ -104,6 +105,7 @@ public class HGKC003 extends DaoEPBase {
public static final String COL_PART_WIDTH = "PART_WIDTH"; /* 零件-宽*/ public static final String COL_PART_WIDTH = "PART_WIDTH"; /* 零件-宽*/
public static final String COL_PART_THICK = "PART_THICK"; /* 零件-厚*/ public static final String COL_PART_THICK = "PART_THICK"; /* 零件-厚*/
public static final String COL_PART_SPEC = "PART_SPEC"; /* 零件规格*/ public static final String COL_PART_SPEC = "PART_SPEC"; /* 零件规格*/
public static final String COL_SUBMIT_STATUS = "SUBMIT_STATUS"; /* 提交状态 0未提交,1已提交*/
public static final String QUERY = "HGKC003.query"; public static final String QUERY = "HGKC003.query";
public static final String COUNT = "HGKC003.count"; public static final String COUNT = "HGKC003.count";
...@@ -151,6 +153,7 @@ public class HGKC003 extends DaoEPBase { ...@@ -151,6 +153,7 @@ public class HGKC003 extends DaoEPBase {
private BigDecimal partWidth = new BigDecimal(0.000); /* 零件-宽*/ private BigDecimal partWidth = new BigDecimal(0.000); /* 零件-宽*/
private BigDecimal partThick = new BigDecimal(0.000); /* 零件-厚*/ private BigDecimal partThick = new BigDecimal(0.000); /* 零件-厚*/
private String partSpec = " "; /* 零件规格*/ private String partSpec = " "; /* 零件规格*/
private Integer submitStatus; /* 提交状态 0未提交,1已提交*/
/** /**
* initialize the metadata. * initialize the metadata.
...@@ -346,6 +349,10 @@ public class HGKC003 extends DaoEPBase { ...@@ -346,6 +349,10 @@ public class HGKC003 extends DaoEPBase {
eiColumn.setDescName("零件规格"); eiColumn.setDescName("零件规格");
eiMetadata.addMeta(eiColumn); eiMetadata.addMeta(eiColumn);
eiColumn = new EiColumn(FIELD_SUBMIT_STATUS);
eiColumn.setDescName("提交状态");
eiMetadata.addMeta(eiColumn);
} }
...@@ -996,6 +1003,15 @@ public class HGKC003 extends DaoEPBase { ...@@ -996,6 +1003,15 @@ public class HGKC003 extends DaoEPBase {
public void setPartSpec(String partSpec) { public void setPartSpec(String partSpec) {
this.partSpec = partSpec; this.partSpec = partSpec;
} }
public Integer getSubmitStatus() {
return submitStatus;
}
public void setSubmitStatus(Integer submitStatus) {
this.submitStatus = submitStatus;
}
/** /**
* get the value from Map. * get the value from Map.
* *
...@@ -1044,6 +1060,7 @@ public class HGKC003 extends DaoEPBase { ...@@ -1044,6 +1060,7 @@ public class HGKC003 extends DaoEPBase {
setPartWidth(NumberUtils.toBigDecimal(StringUtils.toString(map.get(FIELD_PART_WIDTH)), partWidth)); setPartWidth(NumberUtils.toBigDecimal(StringUtils.toString(map.get(FIELD_PART_WIDTH)), partWidth));
setPartThick(NumberUtils.toBigDecimal(StringUtils.toString(map.get(FIELD_PART_THICK)), partThick)); setPartThick(NumberUtils.toBigDecimal(StringUtils.toString(map.get(FIELD_PART_THICK)), partThick));
setPartSpec(StringUtils.defaultIfEmpty(StringUtils.toString(map.get(FIELD_PART_SPEC)), partSpec)); setPartSpec(StringUtils.defaultIfEmpty(StringUtils.toString(map.get(FIELD_PART_SPEC)), partSpec));
setSubmitStatus(NumberUtils.toInteger(StringUtils.toString(map.get(FIELD_SUBMIT_STATUS)), submitStatus));
} }
/** /**
...@@ -1093,6 +1110,7 @@ public class HGKC003 extends DaoEPBase { ...@@ -1093,6 +1110,7 @@ public class HGKC003 extends DaoEPBase {
map.put(FIELD_PART_WIDTH, StringUtils.toString(partWidth, eiMetadata.getMeta(FIELD_PART_WIDTH))); map.put(FIELD_PART_WIDTH, StringUtils.toString(partWidth, eiMetadata.getMeta(FIELD_PART_WIDTH)));
map.put(FIELD_PART_THICK, StringUtils.toString(partThick, eiMetadata.getMeta(FIELD_PART_THICK))); map.put(FIELD_PART_THICK, StringUtils.toString(partThick, eiMetadata.getMeta(FIELD_PART_THICK)));
map.put(FIELD_PART_SPEC, StringUtils.toString(partSpec, eiMetadata.getMeta(FIELD_PART_SPEC))); map.put(FIELD_PART_SPEC, StringUtils.toString(partSpec, eiMetadata.getMeta(FIELD_PART_SPEC)));
map.put(FIELD_SUBMIT_STATUS, StringUtils.toString(submitStatus, eiMetadata.getMeta(FIELD_SUBMIT_STATUS)));
return map; return map;
} }
......
package com.baosight.hggp.hg.kc.service;
import com.baosight.hggp.core.dao.DaoUtils;
import com.baosight.hggp.core.security.UserSessionUtils;
import com.baosight.hggp.hg.constant.HGConstant;
import com.baosight.hggp.hg.kc.domain.HGKC003;
import com.baosight.hggp.hg.kc.domain.HGKC003A;
import com.baosight.hggp.util.*;
import com.baosight.iplat4j.core.ei.EiConstant;
import com.baosight.iplat4j.core.ei.EiInfo;
import com.baosight.iplat4j.core.exception.PlatException;
import com.baosight.iplat4j.core.service.impl.ServiceEPBase;
import java.util.*;
/**
* 生产入库明细
*
* @author:jhs
* @date:2024/5/24,11:08
*/
public class ServiceHGKC003B extends ServiceEPBase {
public EiInfo initLoad(EiInfo inInfo) {
try {
inInfo = super.query(inInfo, HGKC003A.QUERY, new HGKC003A());
} catch (PlatException e) {
LogUtils.setDetailMsg(inInfo, e, "初始化失败");
}
return inInfo;
}
public EiInfo query(EiInfo inInfo) {
try {
inInfo = super.query(inInfo, HGKC003A.QUERY, new HGKC003A());
inInfo.setStatus(EiConstant.STATUS_DEFAULT);
} catch (PlatException e) {
LogUtils.setDetailMsg(inInfo, e, "查询失败");
}
return inInfo;
}
@Override
public EiInfo delete(EiInfo inInfo) {
try {
List<Map> resultRows = inInfo.getBlock(EiConstant.resultBlock).getRows();
// 蓝图ids
List<Long> ids = ObjectUtils.listKey(resultRows, HGKC003A.FIELD_ID);
DaoUtils.update(HGKC003A.BATCH_DELETE, new HashMap<String,Object>(){{put("ids",ids);}});
inInfo = this.query(inInfo);
inInfo.setStatus(EiConstant.STATUS_DEFAULT);
inInfo.setMsg("操作成功!本次对[" + resultRows.size() + "]条数据删除成功!");
} catch (Exception e) {
LogUtils.setDetailMsg(inInfo, e, "删除失败");
}
return inInfo;
}
public EiInfo save(EiInfo inInfo){
try {
Map resultMap = EiInfoUtils.getFirstRow(inInfo,EiConstant.resultBlock);
HGKC003A hgkc003a = new HGKC003A();
hgkc003a.fromMap(resultMap);
//查询蓝图
HGKC003 hgkc003 = (HGKC003) super.dao.get(HGKC003.QUERY,HGKC003.FIELD_ID,hgkc003a.getPrimaryId());
//复制蓝图基本信息
hgkc003a.setCompanyCode(hgkc003.getCompanyCode());
hgkc003a.setCompanyName(hgkc003.getCompanyName());
hgkc003a.setDepCode(hgkc003.getDepCode());
// hgkc003a.setDepName(hgkc003.getDepName());
hgkc003a.setProjCode(hgkc003.getProjCode());
hgkc003a.setProjName(hgkc003.getProjName());
this.checkSaveData(hgkc003a,hgkc003);
if(Objects.nonNull(hgkc003a.getId())&&hgkc003a.getId()!=0){
DaoUtils.update(HGKC003A.UPDATE, hgkc003a);
}else {
DaoUtils.insert(HGKC003A.INSERT, hgkc003a);
}
inInfo.setStatus(EiConstant.STATUS_DEFAULT);
inInfo.setMsg("保存成功!");
} catch (Exception e) {
LogUtils.setDetailMsg(inInfo, e, "保存失败");
}
return inInfo;
}
/**
* 校验保存的数据
*
* @param hgkc003a
*/
private void checkSaveData(HGKC003A hgkc003a, HGKC003 hgkc003) {
if(Objects.nonNull(hgkc003a.getId())&&hgkc003a.getId()>0){
AssertUtils.isTrue(hgkc003.getSubmitStatus().compareTo(HGConstant.ProductStatus.YTJ) == 0,"入库单已提交,不能修改!");
}
AssertUtils.isEmpty(UserSessionUtils.getAccountCode(), "当前用户未绑定公司,无法操作数据,请联系管理员!");
AssertUtils.isEmpty(UserSessionUtils.getOrgId(), "当前用户未绑定部门,无法操作数据,请联系管理员!");
AssertUtils.isEmpty(hgkc003a.getCompanyCode(), "请选择公司!");
AssertUtils.isEmpty(hgkc003a.getProjCode(), "请填写项目编号!");
AssertUtils.isEmpty(hgkc003a.getProjName(), "请填写项目名称!");
}
}
...@@ -42,7 +42,8 @@ ...@@ -42,7 +42,8 @@
PART_LENGTH as "partLength", <!-- 零件-长 --> PART_LENGTH as "partLength", <!-- 零件-长 -->
PART_WIDTH as "partWidth", <!-- 零件-宽 --> PART_WIDTH as "partWidth", <!-- 零件-宽 -->
PART_THICK as "partThick", <!-- 零件-厚 --> PART_THICK as "partThick", <!-- 零件-厚 -->
PART_SPEC as "partSpec" <!-- 零件规格 --> PART_SPEC as "partSpec", <!-- 零件规格 -->
SUBMIT_STATUS as "submitStatus" <!-- 提交状态 -->
</sql> </sql>
<sql id="condition"> <sql id="condition">
...@@ -60,13 +61,13 @@ ...@@ -60,13 +61,13 @@
COMPANY_CODE = #companyCode# COMPANY_CODE = #companyCode#
</isNotEmpty> </isNotEmpty>
<isNotEmpty prepend=" AND " property="companyName"> <isNotEmpty prepend=" AND " property="companyName">
COMPANY_NAME = #companyName# COMPANY_NAME like '%' || #companyName#|| '%'
</isNotEmpty> </isNotEmpty>
<isNotEmpty prepend=" AND " property="depositDate"> <isNotEmpty prepend=" AND " property="depositDate">
DEPOSIT_DATE = #depositDate# DEPOSIT_DATE = #depositDate#
</isNotEmpty> </isNotEmpty>
<isNotEmpty prepend=" AND " property="depositNo"> <isNotEmpty prepend=" AND " property="depositNo">
DEPOSIT_NO = #depositNo# DEPOSIT_NO like '%' || #depositNo# || '%'
</isNotEmpty> </isNotEmpty>
<isNotEmpty prepend=" AND " property="whCode"> <isNotEmpty prepend=" AND " property="whCode">
WH_CODE = #whCode# WH_CODE = #whCode#
...@@ -93,7 +94,7 @@ ...@@ -93,7 +94,7 @@
PROJ_CODE = #projCode# PROJ_CODE = #projCode#
</isNotEmpty> </isNotEmpty>
<isNotEmpty prepend=" AND " property="projName"> <isNotEmpty prepend=" AND " property="projName">
PROJ_NAME = #projName# PROJ_NAME like '%' || #projName# || '%'
</isNotEmpty> </isNotEmpty>
<isNotEmpty prepend=" AND " property="prdtType"> <isNotEmpty prepend=" AND " property="prdtType">
PRDT_TYPE = #prdtType# PRDT_TYPE = #prdtType#
...@@ -137,6 +138,9 @@ ...@@ -137,6 +138,9 @@
<isNotEmpty prepend=" AND " property="partSpec"> <isNotEmpty prepend=" AND " property="partSpec">
PART_SPEC = #partSpec# PART_SPEC = #partSpec#
</isNotEmpty> </isNotEmpty>
<isNotEmpty prepend=" AND " property="submitStatus">
SUBMIT_STATUS = #submitStatus#
</isNotEmpty>
</sql> </sql>
<sql id="idCondition"> <sql id="idCondition">
...@@ -224,13 +228,14 @@ ...@@ -224,13 +228,14 @@
PART_LENGTH, <!-- 零件-长 --> PART_LENGTH, <!-- 零件-长 -->
PART_WIDTH, <!-- 零件-宽 --> PART_WIDTH, <!-- 零件-宽 -->
PART_THICK, <!-- 零件-厚 --> PART_THICK, <!-- 零件-厚 -->
PART_SPEC <!-- 零件规格 --> PART_SPEC, <!-- 零件规格 -->
SUBMIT_STATUS <!-- 提交状态 -->
) VALUES ( ) VALUES (
#accountCode#, #depCode#, #createdBy#, #createdName#, #createdTime#, #accountCode#, #depCode#, #createdBy#, #createdName#, #createdTime#,
#deleteFlag#, #companyCode#, #companyName#, #depositDate#, #depositNo#, #whCode#, #whName#, #deleteFlag#, #companyCode#, #companyName#, #depositDate#, #depositNo#, #whCode#, #whName#,
#invQty#, #invUnitWeight#, #invWeight#, #depositNoOld#, #remark#, #factoryCode#, #prodOrderNo#, #prodTaskNo#, #invQty#, #invUnitWeight#, #invWeight#, #depositNoOld#, #remark#, #factoryCode#, #prodOrderNo#, #prodTaskNo#,
#projCode#, #projName#, #prdtType#, #prdtCode#, #prdtName#, #prdtLength#, #prdtWidth#, #prdtThick#, #prdtSpec#, #projCode#, #projName#, #prdtType#, #prdtCode#, #prdtName#, #prdtLength#, #prdtWidth#, #prdtThick#, #prdtSpec#,
#partType#, #partCode#, #partName#, #partLength#, #partWidth#, #partThick#, #partSpec# #partType#, #partCode#, #partName#, #partLength#, #partWidth#, #partThick#, #partSpec#, #submitStatus#
) )
</insert> </insert>
...@@ -280,7 +285,8 @@ ...@@ -280,7 +285,8 @@
PART_LENGTH = #partLength#, <!-- 零件-长 --> PART_LENGTH = #partLength#, <!-- 零件-长 -->
PART_WIDTH = #partWidth#, <!-- 零件-宽 --> PART_WIDTH = #partWidth#, <!-- 零件-宽 -->
PART_THICK = #partThick#, <!-- 零件-厚 --> PART_THICK = #partThick#, <!-- 零件-厚 -->
PART_SPEC = #partSpec# <!-- 零件规格 --> PART_SPEC = #partSpec#, <!-- 零件规格 -->
SUBMIT_STATUS = #submitStatus# <!-- 提交状态 -->
WHERE WHERE
ID = #id# ID = #id#
</update> </update>
......
...@@ -72,6 +72,7 @@ public class HGSC004 extends DaoEPBase { ...@@ -72,6 +72,7 @@ public class HGSC004 extends DaoEPBase {
public static final String BATCH_DELETE = "HGSC004.batchDelete"; public static final String BATCH_DELETE = "HGSC004.batchDelete";
public static final String UPDATE_DEL = "HGSC004.updateDel"; public static final String UPDATE_DEL = "HGSC004.updateDel";
public static final String UPDATE_MATERIAL_STATUS = "HGSC004.updateMaterialStatus"; public static final String UPDATE_MATERIAL_STATUS = "HGSC004.updateMaterialStatus";
public static final String MAX_ID = "HGSC004.maxId";
private Long id = new Long(0); /* 主键*/ private Long id = new Long(0); /* 主键*/
private Long blueprintId = new Long(0); /* 蓝图id*/ private Long blueprintId = new Long(0); /* 蓝图id*/
......
...@@ -113,6 +113,8 @@ public class ServiceHGSC004 extends ServiceBase { ...@@ -113,6 +113,8 @@ public class ServiceHGSC004 extends ServiceBase {
}); });
DaoUtils.updateBatch(HGSC004A.UPDATE, hgsc004AList); DaoUtils.updateBatch(HGSC004A.UPDATE, hgsc004AList);
}else { }else {
Long maxId = (Long) super.dao.get(HGSC004.MAX_ID,null,null);
hgsc004.setId(maxId+1);
hgsc004.setMaterialStatus(HGConstant.MaterialStatus.WTJ); hgsc004.setMaterialStatus(HGConstant.MaterialStatus.WTJ);
DaoUtils.insert(HGSC004.INSERT, hgsc004); DaoUtils.insert(HGSC004.INSERT, hgsc004);
......
...@@ -109,10 +109,7 @@ public class ServiceHGSC004A extends ServiceBase { ...@@ -109,10 +109,7 @@ public class ServiceHGSC004A extends ServiceBase {
Map resultMap = EiInfoUtils.getFirstRow(inInfo,EiConstant.resultBlock); Map resultMap = EiInfoUtils.getFirstRow(inInfo,EiConstant.resultBlock);
HGSC004A hgsc004a = new HGSC004A(); HGSC004A hgsc004a = new HGSC004A();
hgsc004a.fromMap(resultMap); hgsc004a.fromMap(resultMap);
//蓝图信息,用于蓝图状态校验
HGSC003 hgsc003 = (HGSC003) super.dao.get(HGSC003.QUERY,HGSC004A.FIELD_id,hgsc004a.getId());
//主表信息,用于取值 //主表信息,用于取值
Long materialId = Long.valueOf(inInfo.getCellStr(EiConstant.queryBlock, ACConstants.ROW_CODE_0, HGSC004A.FIELD_material_id)); Long materialId = Long.valueOf(inInfo.getCellStr(EiConstant.queryBlock, ACConstants.ROW_CODE_0, HGSC004A.FIELD_material_id));
HGSC004 hgsc004 = (HGSC004) super.dao.get(HGSC004.QUERY_BY_ID,HGSC004A.FIELD_id,materialId); HGSC004 hgsc004 = (HGSC004) super.dao.get(HGSC004.QUERY_BY_ID,HGSC004A.FIELD_id,materialId);
if(Objects.nonNull(hgsc004)){ if(Objects.nonNull(hgsc004)){
...@@ -130,7 +127,7 @@ public class ServiceHGSC004A extends ServiceBase { ...@@ -130,7 +127,7 @@ public class ServiceHGSC004A extends ServiceBase {
}else{ }else{
hgsc004a.setLeaf(1); hgsc004a.setLeaf(1);
} }
this.checkSaveData(hgsc004a,hgsc003); this.checkSaveData(hgsc004a,hgsc004);
if(Objects.nonNull(hgsc004a.getId())&&hgsc004a.getId()!=0){ if(Objects.nonNull(hgsc004a.getId())&&hgsc004a.getId()!=0){
if(hgsc004a.getLv().intValue() == 3){ if(hgsc004a.getLv().intValue() == 3){
...@@ -177,8 +174,10 @@ public class ServiceHGSC004A extends ServiceBase { ...@@ -177,8 +174,10 @@ public class ServiceHGSC004A extends ServiceBase {
* *
* @param hgsc004a * @param hgsc004a
*/ */
private void checkSaveData(HGSC004A hgsc004a,HGSC003 hgsc003) { private void checkSaveData(HGSC004A hgsc004a,HGSC004 hgsc004) {
if(Objects.nonNull(hgsc004a.getId())&&hgsc004a.getId()>0){ if(Objects.nonNull(hgsc004a.getId())&&hgsc004a.getId()>0){
//蓝图信息,用于蓝图状态校验
HGSC003 hgsc003 = (HGSC003) super.dao.get(HGSC003.QUERY,HGSC004A.FIELD_id,hgsc004.getBlueprintId());
AssertUtils.isTrue(hgsc003.getBlueprintStatus().compareTo(HGConstant.EnablingStatus.TY) == 0,"蓝图已停用不可修改!"); AssertUtils.isTrue(hgsc003.getBlueprintStatus().compareTo(HGConstant.EnablingStatus.TY) == 0,"蓝图已停用不可修改!");
} }
AssertUtils.isEmpty(UserSessionUtils.getAccountCode(), "当前用户未绑定公司,无法操作数据,请联系管理员!"); AssertUtils.isEmpty(UserSessionUtils.getAccountCode(), "当前用户未绑定公司,无法操作数据,请联系管理员!");
...@@ -196,9 +195,11 @@ public class ServiceHGSC004A extends ServiceBase { ...@@ -196,9 +195,11 @@ public class ServiceHGSC004A extends ServiceBase {
//获取物料详情数据 //获取物料详情数据
String projCode = StringUtils.toString(inInfo.get("projCode")); String projCode = StringUtils.toString(inInfo.get("projCode"));
String companyCode = StringUtils.toString(inInfo.get("companyCode")); String companyCode = StringUtils.toString(inInfo.get("companyCode"));
String materialId = StringUtils.toString(inInfo.get("materialId"));
Map queryMap = new HashMap(); Map queryMap = new HashMap();
queryMap.put("companyCode", com.baosight.hggp.util.StringUtils.isNotBlank(companyCode) ? companyCode : "null"); queryMap.put("companyCode", com.baosight.hggp.util.StringUtils.isNotBlank(companyCode) ? companyCode : "null");
queryMap.put("projCode", com.baosight.hggp.util.StringUtils.isNotBlank(projCode) ? projCode : "null"); queryMap.put("projCode", com.baosight.hggp.util.StringUtils.isNotBlank(projCode) ? projCode : "null");
queryMap.put("materialId", com.baosight.hggp.util.StringUtils.isNotBlank(materialId) ? materialId : "null");
queryMap.put("pEname", "$".equals(node) ? "root" : node); queryMap.put("pEname", "$".equals(node) ? "root" : node);
//2 查询节点 //2 查询节点
...@@ -241,15 +242,18 @@ public class ServiceHGSC004A extends ServiceBase { ...@@ -241,15 +242,18 @@ public class ServiceHGSC004A extends ServiceBase {
HGSC004A hgsc004a = new HGSC004A(); HGSC004A hgsc004a = new HGSC004A();
EiBlock eiBlock = inInfo.getBlock(EiConstant.resultBlock); EiBlock eiBlock = inInfo.getBlock(EiConstant.resultBlock);
String materialId = eiBlock.getCellStr(ACConstants.ROW_CODE_0, HGSC004A.FIELD_material_id); String materialId = eiBlock.getCellStr(ACConstants.ROW_CODE_0, HGSC004A.FIELD_material_id);
//获取主表信息
HGSC004 hgsc004 = (HGSC004) super.dao.get(HGSC004.QUERY_BY_ID,HGSC004.FIELD_id,materialId); HGSC004 hgsc004 = (HGSC004) super.dao.get(HGSC004.QUERY_BY_ID,HGSC004.FIELD_id,materialId);
//校验计划父单据是否提交,提交了不让新增
HGSCTools.THGSC004A.checkFatherSubmitStatus(hgsc004.getId());
for (i = 0; i < eiBlock.getRowCount(); i++) { for (i = 0; i < eiBlock.getRowCount(); i++) {
Map<?, ?> map = eiBlock.getRow(i); Map<?, ?> map = eiBlock.getRow(i);
//前端传参不完成
hgsc004a.fromMap(map); hgsc004a.fromMap(map);
if(Objects.nonNull(hgsc004)){ if(Objects.nonNull(hgsc004)){
if(hgsc004.getMaterialStatus().intValue() == HGConstant.MaterialStatus.QBTJ){ if(hgsc004.getMaterialStatus().intValue() == HGConstant.MaterialStatus.QBTJ){
hgsc004a = (HGSC004A) super.dao.get(HGSC004A.QUERY_BY_MATERIAL_ID,HGSC004A.FIELD_id,hgsc004a.getId());
//校验计划父单据是否提交,提交了不让新增
HGSCTools.THGSC004A.checkFatherSubmitStatus(hgsc004.getId());
//子表 //子表
HGSC005A hgsc005a = new HGSC005A(); HGSC005A hgsc005a = new HGSC005A();
BeanUtil.copyProperties(hgsc004a,hgsc005a,"id","productType"); BeanUtil.copyProperties(hgsc004a,hgsc005a,"id","productType");
...@@ -266,7 +270,7 @@ public class ServiceHGSC004A extends ServiceBase { ...@@ -266,7 +270,7 @@ public class ServiceHGSC004A extends ServiceBase {
mapA.put("materialId",hgsc004a.getMaterialId()); mapA.put("materialId",hgsc004a.getMaterialId());
mapA.put("productStatus",HGConstant.ProductStatus.WTJ); mapA.put("productStatus",HGConstant.ProductStatus.WTJ);
mapA.put("notId",hgsc004a.getId()); mapA.put("notId",hgsc004a.getId());
List<HGSC004A> hgsc004AList = dao.query(HGSC004A.QUERY_ALL,mapA, 0, -999999); List<HGSC004A> hgsc004AList = dao.query(HGSC004A.QUERY,mapA, 0, -999999);
if(!CollectionUtils.isEmpty(hgsc004AList)){ if(!CollectionUtils.isEmpty(hgsc004AList)){
//如果存在就是部分提交 //如果存在就是部分提交
...@@ -281,6 +285,7 @@ public class ServiceHGSC004A extends ServiceBase { ...@@ -281,6 +285,7 @@ public class ServiceHGSC004A extends ServiceBase {
} }
} }
hgsc004a.setProductStatus(HGConstant.ProductStatus.YTJ);
DaoUtils.update(HGSC004A.UPDATE_PRODUCT_STATUS, hgsc004a); DaoUtils.update(HGSC004A.UPDATE_PRODUCT_STATUS, hgsc004a);
} }
......
...@@ -224,4 +224,8 @@ ...@@ -224,4 +224,8 @@
WHERE WHERE
ID = #id# ID = #id#
</update> </update>
<select id="maxId" resultClass="long">
SELECT MAX(ID) AS "id" FROM ${hggpSchema}.HGSC004
</select>
</sqlMap> </sqlMap>
...@@ -214,10 +214,13 @@ ...@@ -214,10 +214,13 @@
FROM ${hggpSchema}.HGSC004A a FROM ${hggpSchema}.HGSC004A a
left join ${hggpSchema}.hgpz005 b on a.product_id = b.id left join ${hggpSchema}.hgpz005 b on a.product_id = b.id
left join ${hggpSchema}.hgsc001 c on a.proj_code = c.proj_code and c.approval_status = 2 left join ${hggpSchema}.hgsc001 c on a.proj_code = c.proj_code and c.approval_status = 2
WHERE 1=1 WHERE 1=1 and a.lv NOT IN (1,2)
<isNotEmpty prepend=" AND " property="materialId"> <isNotEmpty prepend=" AND " property="materialId">
a.material_id = #materialId# a.material_id = #materialId#
</isNotEmpty> </isNotEmpty>
<isNotEmpty prepend=" AND " property="id">
a.id = #id#
</isNotEmpty>
<isNotEmpty prepend=" AND " property="ids"> <isNotEmpty prepend=" AND " property="ids">
a.id IN <iterate close=")" open="(" conjunction="," property="ids">#ids[]#</iterate> a.id IN <iterate close=")" open="(" conjunction="," property="ids">#ids[]#</iterate>
</isNotEmpty> </isNotEmpty>
...@@ -356,38 +359,37 @@ ...@@ -356,38 +359,37 @@
<select id="queryTree" resultClass="java.util.HashMap"> <select id="queryTree" resultClass="java.util.HashMap">
SELECT SELECT
PRODUCT_CODE as "nodeId", a.PRODUCT_CODE as "nodeId",
product_id as "productId", <!-- 产品id --> a.product_id as "productId", <!-- 产品id -->
invent_type as "inventType", <!-- 档案类型 --> a.invent_type as "inventType", <!-- 档案类型 -->
product_type as "productType", <!-- 产品类别 --> a.product_type as "productType", <!-- 产品类别 -->
PRODUCT_CODE as "productCode", <!-- 产品编码 --> a.PRODUCT_CODE as "productCode", <!-- 产品编码 -->
PROJ_CODE as "projCode", <!-- 项目编码 --> a.PROJ_CODE as "projCode", <!-- 项目编码 -->
PROJ_NAME as "projName",<!-- 项目名称 --> a.PROJ_NAME as "projName",<!-- 项目名称 -->
PRODUCT_NAME as "productName", <!-- 产品名称 --> a.PRODUCT_NAME as "productName", <!-- 产品名称 -->
PRODUCT_CODE as "label", <!-- 名部件编码--> a.PRODUCT_CODE as "label", <!-- 名部件编码-->
case when lv = 3 then concat(PRODUCT_CODE,' ',PRODUCT_NAME) else PRODUCT_NAME end as "text", <!-- 部件名称 --> case when a.lv = 3 then concat(a.PRODUCT_CODE,' ',a.PRODUCT_NAME) else a.PRODUCT_NAME end as "text", <!-- 部件名称 -->
PARENT_PROD_CODE as "pId", <!-- 父节点编码 --> a.PARENT_PROD_CODE as "pId", <!-- 父节点编码 -->
PARENT_PROD_NAME as "pName", <!-- 父节点名称 --> a.PARENT_PROD_NAME as "pName", <!-- 父节点名称 -->
LEAF as "leaf", <!-- 是否有叶子节点 --> a.LEAF as "leaf", <!-- 是否有叶子节点 -->
SORT as "sort", <!-- 排序字段 --> a.SORT as "sort", <!-- 排序字段 -->
lv as "lv" a.lv as "lv"
FROM FROM
${hggpSchema}.HGSC004A ${hggpSchema}.HGSC004A a left join ${hggpSchema}.HGSC004 b on a.material_id = b.id
WHERE 1=1 WHERE 1=1 and b.del_status = 0
<isNotEmpty prepend=" AND " property="pEname"> <isNotEmpty prepend=" AND " property="pEname">
PARENT_PROD_CODE = #pEname# a.PARENT_PROD_CODE = #pEname#
</isNotEmpty> </isNotEmpty>
<isNotEmpty prepend=" AND " property="projCode"> <isNotEmpty prepend=" AND " property="projCode">
PROJ_CODE = #projCode# a.PROJ_CODE = #projCode#
</isNotEmpty> </isNotEmpty>
<isNotEmpty prepend=" AND " property="companyCode"> <isNotEmpty prepend=" AND " property="companyCode">
COMPANY_CODE = #companyCode# a.COMPANY_CODE = #companyCode#
</isNotEmpty> </isNotEmpty>
<isNotEmpty prepend=" AND " property="materialId"> <isNotEmpty prepend=" AND " property="materialId">
MATERIAL_ID = #materialId# a.MATERIAL_ID = #materialId#
</isNotEmpty> </isNotEmpty>
ORDER BY a.CREATED_TIME DESC
ORDER BY CREATED_TIME DESC
</select> </select>
......
...@@ -8,48 +8,36 @@ ...@@ -8,48 +8,36 @@
<EF:EFPage title="生产入库单"> <EF:EFPage title="生产入库单">
<EF:EFRegion id="inqu" title="查询条件"> <EF:EFRegion id="inqu" title="查询条件">
<div class="row"> <div class="row">
<EF:EFDatePicker cname="单据日期" ename="documentDate" blockId="inqu_status" row="0" colWidth="3" <EF:EFInput cname="公司名称" ename="companyName" blockId="inqu_status" row="0" colWidth="3"/>
<EF:EFDatePicker cname="单据日期" ename="depositDate" blockId="inqu_status" row="0" colWidth="3"
format="yyyy-MM-dd" readonly="true"/> format="yyyy-MM-dd" readonly="true"/>
<EF:EFInput cname="项目名称" ename="projName" blockId="inqu_status" row="0" colWidth="3"/> <EF:EFInput cname="项目名称" ename="projName" blockId="inqu_status" row="0" colWidth="3"/>
<EF:EFInput cname="生产入库单号" ename="projName" blockId="inqu_status" row="0" colWidth="3"/>
</div>
<div class="row">
<EF:EFSelect cname="仓库名称" ename="whCode" blockId="inqu_status" row="0" colWidth="3" <EF:EFSelect cname="仓库名称" ename="whCode" blockId="inqu_status" row="0" colWidth="3"
filter="contains" defultValue=""> filter="contains" defultValue="">
<EF:EFOption label="全部" value=""/> <EF:EFOption label="全部" value=""/>
<EF:EFOptions blockId="wh_record_block_id" textField="textField" valueField="valueField"/> <EF:EFOptions blockId="wh_record_block_id" textField="textField" valueField="valueField"/>
</EF:EFSelect> </EF:EFSelect>
<EF:EFSelect cname="是否删除" ename="deleteFlag" blockId="inqu_status" row="0" colWidth="3" defaultValue="0">
<EF:EFOption label="全部" value=""/>
<EF:EFCodeOption codeName="hpjx.hpjx.deleteFlag"/>
</EF:EFSelect>
</div>
<div class="row">
<EF:EFInput cname="部件名称" ename="prdtName" blockId="inqu_status" row="0" colWidth="3"/>
<EF:EFInput cname="零件名称" ename="partName" blockId="inqu_status" row="0" colWidth="3"/>
<EF:EFDateSpan startCname="创建日期(从)" endCname="至" blockId="inqu_status"
startName="createdDateFrom" endName="createdDateTo" row="0" role="date"
format="yyyy-MM-dd" ratio="3:3" satrtRatio="4:8" endRatio="4:8" readonly="true">
</EF:EFDateSpan>
</div> </div>
</EF:EFRegion> </EF:EFRegion>
<EF:EFRegion id="result" title="明细信息"> <EF:EFRegion id="result" title="明细信息">
<EF:EFGrid blockId="result" autoDraw="override" isFloat="true" checkMode="row"> <EF:EFGrid blockId="result" autoDraw="override" isFloat="true" checkMode="row" readonly="true">
<EF:EFColumn ename="id" cname="内码" hidden="true"/> <EF:EFColumn ename="id" cname="内码" hidden="true"/>
<EF:EFColumn ename="prodNo" cname="生产单号" enable="false" width="140" align="center"/> <EF:EFColumn ename="companyName" cname="公司名称" enable="false" width="140" align="center"/>
<EF:EFColumn ename="depositDate" cname="单据日期" enable="false" width="100" align="center" editType="date" <EF:EFColumn ename="projCode" cname="项目编号" enable="false" width="140" align="center"/>
dateFormat="yyyy-MM-dd" parseFormats="['yyyyMMdd']" required="true"/>
<EF:EFColumn ename="projName" cname="项目名称" enable="false" width="140" align="center"/> <EF:EFColumn ename="projName" cname="项目名称" enable="false" width="140" align="center"/>
<EF:EFComboColumn ename="whCode" cname="仓库名称" enable="false" width="120" align="center" <EF:EFColumn ename="depositDate" cname="单据日期" enable="false" width="100" align="center" editType="date"
blockName="wh_record_block_id" textField="textField" valueField="valueField" dateFormat="yyyy-MM-dd" parseFormats="['yyyyMMdd']" required="true"/>
columnTemplate="#=textField#" itemTemplate="#=textField#"> <EF:EFColumn ename="depositNo" cname="生产入库单号" enable="false" width="120" align="center"/>
<EF:EFColumn ename="prodOrderNo" cname="生产任务单号" enable="false" width="120" align="center"/>
<EF:EFColumn ename="whName" cname="仓库名称" enable="false" width="120" align="center"/>
<EF:EFComboColumn cname="提交状态" ename="submitStatus" width="90" align="center" required="false">
<EF:EFCodeOption codeName="hggp.sc.productStatus" />
</EF:EFComboColumn> </EF:EFComboColumn>
<EF:EFColumn ename="prdtName" cname="部件名称" enable="false" width="120" align="center"/>
<EF:EFColumn ename="partName" cname="零件名称" enable="false" width="120" align="center"/>
<EF:EFColumn ename="partSpec" cname="零件规格" enable="false" width="150" align="center"/>
<EF:EFColumn ename="invQty" cname="数量" enable="false" width="120" align="right" format="{0:N0}"/>
<EF:EFColumn ename="invQeight" cname="总重(T)" enable="false" width="120" align="right" format="{0:N3}"/>
<EF:EFColumn ename="remark" cname="备注" enable="false" width="150"/>
<EF:EFColumn ename="prdtCode" cname="部件编码" enable="false" width="120" align="center" hidden="true"/>
<EF:EFColumn ename="partCode" cname="零件编码" enable="false" width="120" align="center" hidden="true"/>
</EF:EFGrid> </EF:EFGrid>
</EF:EFRegion> </EF:EFRegion>
......
<!DOCTYPE html>
<%@ page contentType="text/html; charset=UTF-8" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%@ taglib prefix="EF" tagdir="/WEB-INF/tags/EF" %>
<c:set var="ctx" value="${pageContext.request.contextPath}"/>
<EF:EFPage title="生产入库详情">
<EF:EFRegion id="inqu" title="查询条件">
<div class="row">
<EF:EFDatePicker cname="单据日期" ename="documentDate" blockId="inqu_status" row="0" colWidth="3"
format="yyyy-MM-dd" readonly="true"/>
<EF:EFSelect cname="仓库名称" ename="whCode" blockId="inqu_status" row="0" colWidth="3"
filter="contains" defultValue="">
<EF:EFOption label="全部" value=""/>
<EF:EFOptions blockId="wh_record_block_id" textField="textField" valueField="valueField"/>
</EF:EFSelect>
<EF:EFInput cname="存货编码" ename="prdtCode" blockId="inqu_status" row="0" colWidth="3"/>
<EF:EFInput cname="存货名称" ename="prdtName" blockId="inqu_status" row="0" colWidth="3"/>
</div>
</EF:EFRegion>
<EF:EFRegion id="result" title="明细信息">
<EF:EFGrid blockId="result" autoDraw="override" isFloat="true" checkMode="row">
<EF:EFColumn ename="id" cname="内码" hidden="true"/>
<EF:EFColumn ename="prodNo" cname="生产单号" enable="false" width="140" align="center"/>
<EF:EFColumn ename="depositDate" cname="单据日期" enable="false" width="100" align="center" editType="date"
dateFormat="yyyy-MM-dd" parseFormats="['yyyyMMdd']" required="true"/>
<EF:EFColumn ename="projName" cname="项目名称" enable="false" width="140" align="center"/>
<EF:EFComboColumn ename="whCode" cname="仓库名称" enable="false" width="120" align="center"
blockName="wh_record_block_id" textField="textField" valueField="valueField"
columnTemplate="#=textField#" itemTemplate="#=textField#">
</EF:EFComboColumn>
<EF:EFColumn ename="prdtName" cname="部件名称" enable="false" width="120" align="center"/>
<EF:EFColumn ename="partName" cname="零件名称" enable="false" width="120" align="center"/>
<EF:EFColumn ename="partSpec" cname="零件规格" enable="false" width="150" align="center"/>
<EF:EFColumn ename="invQty" cname="数量" enable="false" width="120" align="right" format="{0:N0}"/>
<EF:EFColumn ename="invQeight" cname="总重(T)" enable="false" width="120" align="right" format="{0:N3}"/>
<EF:EFColumn ename="remark" cname="备注" enable="false" width="150"/>
<EF:EFColumn ename="prdtCode" cname="部件编码" enable="false" width="120" align="center" hidden="true"/>
<EF:EFColumn ename="partCode" cname="零件编码" enable="false" width="120" align="center" hidden="true"/>
</EF:EFGrid>
</EF:EFRegion>
</EF:EFPage>
...@@ -32,6 +32,7 @@ $(function () { ...@@ -32,6 +32,7 @@ $(function () {
query: function (postEiInfo, model) { query: function (postEiInfo, model) {
postEiInfo.set("companyCode",companyCode ? companyCode : null); postEiInfo.set("companyCode",companyCode ? companyCode : null);
postEiInfo.set("projCode",projCode ? projCode : null); postEiInfo.set("projCode",projCode ? projCode : null);
postEiInfo.set("materialId",$("#inqu_status-0-materialId").val());
return postEiInfo; return postEiInfo;
}, },
loadComplete: function (options) { loadComplete: function (options) {
...@@ -59,6 +60,7 @@ $(function () { ...@@ -59,6 +60,7 @@ $(function () {
refreshTree(); refreshTree();
} else { } else {
let eiInfo = new EiInfo(); let eiInfo = new EiInfo();
eiInfo.set("inqu_status-0-materialId", $("#inqu_status-0-materialId").val());
if (nodeData.lv == 2) { if (nodeData.lv == 2) {
eiInfo.set("inqu_status-0-parInventType", "root"); eiInfo.set("inqu_status-0-parInventType", "root");
//3级节点选择只能是构建 //3级节点选择只能是构建
......
...@@ -60,7 +60,7 @@ ...@@ -60,7 +60,7 @@
<EF:EFColumn ename="quantity" required="true" cname="数量"/> <EF:EFColumn ename="quantity" required="true" cname="数量"/>
<EF:EFColumn ename="singleWeight" required="true" format="{0:N3}" cname="单重(kg)"/> <EF:EFColumn ename="singleWeight" required="true" format="{0:N3}" cname="单重(kg)"/>
<EF:EFColumn enable="true" required="true" format="{0:N3}" ename="totalWeight" cname="总重(kg)"/> <EF:EFColumn enable="true" required="true" format="{0:N3}" ename="totalWeight" cname="总重(kg)"/>
<EF:EFComboColumn cname="提交状态" ename="productStatus" width="90" align="center" required="false"> <EF:EFComboColumn cname="提交状态" ename="productStatus" width="90" align="center" required="false" enable="false">
<EF:EFCodeOption codeName="hggp.sc.productStatus" /> <EF:EFCodeOption codeName="hggp.sc.productStatus" />
</EF:EFComboColumn> </EF:EFComboColumn>
</EF:EFGrid> </EF:EFGrid>
......
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