Commit eea2ed58 by 宋祥

1.测试功能,修改BUG

parent 67563677
...@@ -93,7 +93,7 @@ public class ServiceHPKC003 extends ServiceBase { ...@@ -93,7 +93,7 @@ public class ServiceHPKC003 extends ServiceBase {
HPKC003 fKc003 = new HPKC003(); HPKC003 fKc003 = new HPKC003();
fKc003.fromMap(resultRow); fKc003.fromMap(resultRow);
DaoUtils.update(HPKC003.DELETE, fKc003); DaoUtils.update(HPKC003.DELETE, fKc003);
//生产一条负数量和产量的红冲记录 // 生产一条负数量和产量的红冲记录
HPKC003 dbKc003 = dbKc003Map.get(fKc003.getProdNo()); HPKC003 dbKc003 = dbKc003Map.get(fKc003.getProdNo());
HPKC003 newKc003 = BeanUtils.copy(dbKc003, HPKC003.class); HPKC003 newKc003 = BeanUtils.copy(dbKc003, HPKC003.class);
newKc003.setAmount(dbKc003.getAmount().negate()); newKc003.setAmount(dbKc003.getAmount().negate());
......
...@@ -67,6 +67,7 @@ public class ServiceHPKC003A extends ServiceEPBase { ...@@ -67,6 +67,7 @@ public class ServiceHPKC003A extends ServiceEPBase {
public EiInfo query(EiInfo inInfo) { public EiInfo query(EiInfo inInfo) {
try { try {
Map queryMap = EiInfoUtils.getFirstRow(inInfo); Map queryMap = EiInfoUtils.getFirstRow(inInfo);
queryMap.put("isComplete", CommonConstant.YesNo.NO_0);
inInfo = super.query(inInfo, HPSC005B.QUERY, new HPSC005B()); inInfo = super.query(inInfo, HPSC005B.QUERY, new HPSC005B());
} catch (Exception e) { } catch (Exception e) {
LogUtils.setDetailMsg(inInfo, e, "查询失败"); LogUtils.setDetailMsg(inInfo, e, "查询失败");
...@@ -75,7 +76,7 @@ public class ServiceHPKC003A extends ServiceEPBase { ...@@ -75,7 +76,7 @@ public class ServiceHPKC003A extends ServiceEPBase {
} }
/** /**
* 生成巡检 * 生成入库
* *
* @param inInfo * @param inInfo
* @return * @return
......
...@@ -56,10 +56,22 @@ ...@@ -56,10 +56,22 @@
DOCUMENT_DATE = #documentDate# DOCUMENT_DATE = #documentDate#
</isNotEmpty> </isNotEmpty>
<isNotEmpty prepend=" AND " property="prodNo"> <isNotEmpty prepend=" AND " property="prodNo">
PROD_NO LIKE ('%$prodNo$%') PROD_NO LIKE LIKE CONCAT('%', #prodNo#, '%')
</isNotEmpty>
<isNotEmpty prepend=" AND " property="projName">
PROJ_NAME like CONCAT('%', #projName#, '%')
</isNotEmpty>
<isNotEmpty prepend=" AND " property="partName">
PART_NAME LIKE CONCAT('%', #partName#, '%')
</isNotEmpty>
<isNotEmpty prepend=" AND " property="prdtName">
PRDT_NAME LIKE CONCAT('%', #prdtName#, '%')
</isNotEmpty> </isNotEmpty>
<isNotEmpty prepend=" AND " property="prodOrderNo"> <isNotEmpty prepend=" AND " property="prodOrderNo">
PROD_ORDER_NO LIKE ('%prodOrderNo%') PROD_ORDER_NO LIKE CONCAT('%', #prodOrderNo#, '%')
</isNotEmpty>
<isNotEmpty prepend=" AND " property="prodTaskNo">
PROD_TASK_NO LIKE CONCAT('%', #prodTaskNo#, '%')
</isNotEmpty> </isNotEmpty>
<isNotEmpty prepend=" AND " property="whCode"> <isNotEmpty prepend=" AND " property="whCode">
WH_CODE = #whCode# WH_CODE = #whCode#
...@@ -73,14 +85,6 @@ ...@@ -73,14 +85,6 @@
</sql> </sql>
<sql id="customCondition"> <sql id="customCondition">
<isNotEmpty prepend=" AND " property="spec">
<isEqual property="spec" compareValue="无规格">
INVENT_RECORD_ID IN (SELECT ID FROM ${hpjxSchema}.T_HPPZ006 WHERE SPEC = '')
</isEqual>
<isNotEqual property="spec" compareValue="无规格">
INVENT_RECORD_ID IN (SELECT ID FROM ${hpjxSchema}.T_HPPZ006 WHERE SPEC = #spec#)
</isNotEqual>
</isNotEmpty>
<isNotEmpty prepend=" AND " property="createdDateFrom"> <isNotEmpty prepend=" AND " property="createdDateFrom">
CREATED_TIME &gt;= CONCAT(REPLACE(#createdDateFrom#, '-', ''), '000000') CREATED_TIME &gt;= CONCAT(REPLACE(#createdDateFrom#, '-', ''), '000000')
</isNotEmpty> </isNotEmpty>
......
...@@ -174,7 +174,6 @@ public class ServiceHPPZ011 extends ServiceBase { ...@@ -174,7 +174,6 @@ public class ServiceHPPZ011 extends ServiceBase {
return inInfo; return inInfo;
} }
public EiInfo queryComboBoxAll(EiInfo inInfo) { public EiInfo queryComboBoxAll(EiInfo inInfo) {
try { try {
List<DdynamicEnum> list = new ArrayList<>(); List<DdynamicEnum> list = new ArrayList<>();
......
...@@ -3,59 +3,60 @@ ...@@ -3,59 +3,60 @@
<sqlMap namespace="HPPZ011"> <sqlMap namespace="HPPZ011">
<sql id="column"> <sql id="column">
ID as "id", A.ID as "id",
COMPANY_CODE as "companyCode", <!-- 企业编码 预留 --> A.COMPANY_CODE as "companyCode", <!-- 企业编码 预留 -->
DEP_CODE as "depCode", <!-- 部门编码 预留 --> A.DEP_CODE as "depCode", <!-- 部门编码 预留 -->
CREATED_BY as "createdBy", <!-- 创建人 --> A.CREATED_BY as "createdBy", <!-- 创建人 -->
CREATED_NAME as "createdName", <!-- 创建人名称 --> A.CREATED_NAME as "createdName", <!-- 创建人名称 -->
CREATED_TIME as "createdTime", <!-- 创建时间 --> A.CREATED_TIME as "createdTime", <!-- 创建时间 -->
UPDATED_BY as "updatedBy", <!-- 更新人 --> A.UPDATED_BY as "updatedBy", <!-- 更新人 -->
UPDATED_NAME as "updatedName", <!-- 更新人名称 --> A.UPDATED_NAME as "updatedName", <!-- 更新人名称 -->
UPDATED_TIME as "updatedTime", <!-- 更新时间 --> A.UPDATED_TIME as "updatedTime", <!-- 更新时间 -->
FACTORY_CODE as "factoryCode", <!-- 厂区编码 --> A.FACTORY_CODE as "factoryCode", <!-- 厂区编码 -->
FACTORY_NAME as "factoryName", <!-- 厂区名称 --> A.FACTORY_NAME as "factoryName", <!-- 厂区名称 -->
GROUP_CODE as "groupCode", <!-- 生产组编码 --> A.GROUP_CODE as "groupCode", <!-- 生产组编码 -->
GROUP_NAME as "groupName", <!-- 生产组名称 --> A.GROUP_TYPE as "groupType", <!-- 组类型 -->
GROUP_TYPE as "groupType" <!-- 组类型 --> B.ORG_CNAME as "groupName" <!-- 生产组名称 -->
</sql> </sql>
<sql id="condition"> <sql id="condition">
AND DELETE_FLAG = 0 AND A.DELETE_FLAG = 0
AND A.GROUP_CODE = B.ORG_ID
<isNotEmpty prepend=" AND " property="id"> <isNotEmpty prepend=" AND " property="id">
ID = #id# A.ID = #id#
</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="depCode"> <isNotEmpty prepend=" AND " property="depCode">
DEP_CODE = #depCode# A.DEP_CODE = #depCode#
</isNotEmpty> </isNotEmpty>
<isNotEmpty prepend=" AND " property="factoryCode"> <isNotEmpty prepend=" AND " property="factoryCode">
FACTORY_CODE = #factoryCode# A.FACTORY_CODE = #factoryCode#
</isNotEmpty> </isNotEmpty>
<isNotEmpty prepend=" AND " property="groupCode"> <isNotEmpty prepend=" AND " property="groupCode">
GROUP_CODE = #groupCode# A.GROUP_CODE = #groupCode#
</isNotEmpty>
<isNotEmpty prepend=" AND " property="groupName">
GROUP_NAME LIKE CONCAT('%', #groupName#, '%')
</isNotEmpty> </isNotEmpty>
<isNotEmpty prepend=" AND " property="groupType"> <isNotEmpty prepend=" AND " property="groupType">
GROUP_TYPE = #groupType# A.GROUP_TYPE = #groupType#
</isNotEmpty>
<isNotEmpty prepend=" AND " property="groupName">
B.ORG_CNAME LIKE CONCAT('%', #groupName#, '%')
</isNotEmpty> </isNotEmpty>
</sql> </sql>
<sql id="getCondition"> <sql id="getCondition">
<isNotEmpty prepend=" AND " property="id"> <isNotEmpty prepend=" AND " property="id">
ID = #id# A.ID = #id#
</isNotEmpty> </isNotEmpty>
<isNotEmpty prepend=" AND " property="factoryName"> <isNotEmpty prepend=" AND " property="factoryName">
FACTORY_NAME = #factoryName# A.FACTORY_NAME = #factoryName#
</isNotEmpty> </isNotEmpty>
</sql> </sql>
<sql id="queryCondition"> <sql id="queryCondition">
<isNotEmpty prepend=" AND " property="factoryName"> <isNotEmpty prepend=" AND " property="factoryName">
FACTORY_NAME LIKE CONCAT('%', #factoryName#, '%') A.FACTORY_NAME LIKE CONCAT('%', #factoryName#, '%')
</isNotEmpty> </isNotEmpty>
</sql> </sql>
...@@ -65,7 +66,7 @@ ...@@ -65,7 +66,7 @@
$orderBy$ $orderBy$
</isNotEmpty> </isNotEmpty>
<isEmpty property="order"> <isEmpty property="order">
ID ASC A.ID ASC
</isEmpty> </isEmpty>
</dynamic> </dynamic>
</sql> </sql>
...@@ -73,7 +74,7 @@ ...@@ -73,7 +74,7 @@
<select id="query" resultClass="com.baosight.hpjx.hp.pz.domain.HPPZ011"> <select id="query" resultClass="com.baosight.hpjx.hp.pz.domain.HPPZ011">
SELECT SELECT
<include refid="column"/> <include refid="column"/>
FROM ${hpjxSchema}.T_HPPZ011 FROM ${hpjxSchema}.T_HPPZ011 A, ${platSchema}.TXSOG01 B
WHERE 1=1 WHERE 1=1
<include refid="condition"/> <include refid="condition"/>
<include refid="queryCondition"/> <include refid="queryCondition"/>
...@@ -81,7 +82,9 @@ ...@@ -81,7 +82,9 @@
</select> </select>
<select id="count" resultClass="int"> <select id="count" resultClass="int">
SELECT COUNT(*) FROM ${hpjxSchema}.T_HPPZ011 WHERE 1=1 SELECT COUNT(*)
FROM ${hpjxSchema}.T_HPPZ011 A, ${platSchema}.TXSOG01 B
WHERE 1=1
<include refid="condition"/> <include refid="condition"/>
<include refid="queryCondition"/> <include refid="queryCondition"/>
</select> </select>
...@@ -90,7 +93,7 @@ ...@@ -90,7 +93,7 @@
<select id="get" resultClass="com.baosight.hpjx.hp.pz.domain.HPPZ011"> <select id="get" resultClass="com.baosight.hpjx.hp.pz.domain.HPPZ011">
SELECT SELECT
<include refid="column"/> <include refid="column"/>
FROM ${hpjxSchema}.T_HPPZ011 FROM ${hpjxSchema}.T_HPPZ011 A, ${platSchema}.TXSOG01 B
WHERE 1=1 WHERE 1=1
<include refid="getCondition"/> <include refid="getCondition"/>
</select> </select>
...@@ -166,6 +169,12 @@ ...@@ -166,6 +169,12 @@
FROM ${hpjxSchema}.T_HPPZ011 A, ${platSchema}.TXSOG01 B FROM ${hpjxSchema}.T_HPPZ011 A, ${platSchema}.TXSOG01 B
WHERE A.DELETE_FLAG = 0 WHERE A.DELETE_FLAG = 0
AND A.GROUP_CODE = B.ORG_ID AND A.GROUP_CODE = B.ORG_ID
<isNotEmpty prepend=" AND " property="companyCode">
A.COMPANY_CODE = #companyCode#
</isNotEmpty>
<isNotEmpty prepend=" AND " property="factoryCode">
A.FACTORY_CODE = #factoryCode#
</isNotEmpty>
ORDER BY FACTORY_CODE ASC ORDER BY FACTORY_CODE ASC
</select> </select>
......
...@@ -5,8 +5,11 @@ import com.baosight.hpjx.core.dao.DaoUtils; ...@@ -5,8 +5,11 @@ import com.baosight.hpjx.core.dao.DaoUtils;
import com.baosight.hpjx.hp.pz.domain.HPPZ011; import com.baosight.hpjx.hp.pz.domain.HPPZ011;
import com.baosight.hpjx.hp.sc.domain.HPSC004; import com.baosight.hpjx.hp.sc.domain.HPSC004;
import com.baosight.hpjx.hp.sc.domain.HPSC005; import com.baosight.hpjx.hp.sc.domain.HPSC005;
import com.baosight.hpjx.hp.sc.domain.HPSC005A;
import com.baosight.hpjx.util.CommonMethod; import com.baosight.hpjx.util.CommonMethod;
import com.baosight.hpjx.util.EiInfoUtils; import com.baosight.hpjx.util.EiInfoUtils;
import com.baosight.hpjx.util.LogUtils;
import com.baosight.hpjx.util.StringUtil;
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;
import com.baosight.iplat4j.core.ei.EiInfo; import com.baosight.iplat4j.core.ei.EiInfo;
...@@ -17,66 +20,76 @@ import com.baosight.iplat4j.core.util.NumberUtils; ...@@ -17,66 +20,76 @@ import com.baosight.iplat4j.core.util.NumberUtils;
import com.baosight.iplat4j.core.web.threadlocal.UserSession; import com.baosight.iplat4j.core.web.threadlocal.UserSession;
import com.baosight.xservices.xs.og.domain.XSOG01; import com.baosight.xservices.xs.og.domain.XSOG01;
import org.apache.commons.collections.MapUtils;
import java.text.SimpleDateFormat; import java.text.SimpleDateFormat;
import java.util.*; import java.util.*;
/** /**
* * @author:songx
* @date:2024/2/6,10:39
*/ */
public class ServiceHPSC005 extends ServiceBase { public class ServiceHPSC005 extends ServiceBase {
/**
/** * 画面初始化
* 画面初始化. *
*/ * @param inInfo
public EiInfo initLoad(EiInfo inInfo) { * @return
HPSC005 HPSC005 = new HPSC005(); */
EiInfo outInfo = super.initLoad(inInfo, HPSC005); public EiInfo initLoad(EiInfo inInfo) {
outInfo.addBlock(EiConstant.resultBlock).addBlockMeta(HPSC005.eiMetadata); HPSC005 HPSC005 = new HPSC005();
return inInfo; EiInfo outInfo = super.initLoad(inInfo, HPSC005);
} outInfo.addBlock(EiConstant.resultBlock).addBlockMeta(HPSC005.eiMetadata);
return inInfo;
}
/**
* 查询操作. /**
*/ * 查询操作.
@Override *
public EiInfo query(EiInfo inInfo) { * @param inInfo
/* 调用EI查询方法.*/ * @return
EiInfo outInfo = super.query(inInfo, "HPSC005.query", new HPSC005()); */
return outInfo; @Override
public EiInfo query(EiInfo inInfo) {
} try {
Map queryRow = EiInfoUtils.getFirstRow(inInfo);
/** inInfo = super.query(inInfo, HPSC005.QUERY, new HPSC005());
* 新增操作. } catch (Throwable e) {
*/ LogUtils.setDetailMsg(inInfo, e, "查询失败");
@Override }
public EiInfo insert(EiInfo inInfo) { return inInfo;
try { }
HPSC005 HPSC005 = new HPSC005();
EiBlock eiBlock = inInfo.getBlock(EiConstant.resultBlock); /**
for (int i = 0; i < eiBlock.getRowCount(); i++) { * 新增操作.
Map<?, ?> map = eiBlock.getRow(i); */
HPSC005.fromMap(map); @Override
DaoUtils.insert("HPSC005.insert", HPSC005.toMap()); public EiInfo insert(EiInfo inInfo) {
} try {
inInfo.setStatus(EiConstant.STATUS_SUCCESS); HPSC005 HPSC005 = new HPSC005();
inInfo.setMsg("新增成功!"); EiBlock eiBlock = inInfo.getBlock(EiConstant.resultBlock);
for (int i = 0; i < eiBlock.getRowCount(); i++) {
} catch (PlatException e) { Map<?, ?> map = eiBlock.getRow(i);
e.printStackTrace(); HPSC005.fromMap(map);
inInfo.setStatus(EiConstant.STATUS_FAILURE); DaoUtils.insert("HPSC005.insert", HPSC005.toMap());
inInfo.setMsg("新增失败!原因参见详细错误描述!"); }
inInfo.setDetailMsg(e.getMessage()); inInfo.setStatus(EiConstant.STATUS_SUCCESS);
logError("新增失败", e.getMessage()); inInfo.setMsg("新增成功!");
return inInfo;
} } catch (PlatException e) {
return query(inInfo); e.printStackTrace();
} inInfo.setStatus(EiConstant.STATUS_FAILURE);
inInfo.setMsg("新增失败!原因参见详细错误描述!");
/** inInfo.setDetailMsg(e.getMessage());
* 修改操作. logError("新增失败", e.getMessage());
return inInfo;
}
return query(inInfo);
}
/**
* 修改操作.
*/ */
public EiInfo update(EiInfo inInfo) { public EiInfo update(EiInfo inInfo) {
try { try {
......
...@@ -2,10 +2,12 @@ package com.baosight.hpjx.hp.sc.service; ...@@ -2,10 +2,12 @@ package com.baosight.hpjx.hp.sc.service;
import com.baosight.hpjx.common.HPConstants; import com.baosight.hpjx.common.HPConstants;
import com.baosight.hpjx.common.ProdOrderStatusEnum; import com.baosight.hpjx.common.ProdOrderStatusEnum;
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.hp.constant.HPConstant; import com.baosight.hpjx.hp.constant.HPConstant;
import com.baosight.hpjx.hp.kc.domain.HPKC005; import com.baosight.hpjx.hp.kc.domain.HPKC005;
import com.baosight.hpjx.hp.kc.tools.HPKCTools; import com.baosight.hpjx.hp.kc.tools.HPKCTools;
import com.baosight.hpjx.hp.pz.domain.HPPZ009;
import com.baosight.hpjx.hp.pz.domain.HPPZ011; import com.baosight.hpjx.hp.pz.domain.HPPZ011;
import com.baosight.hpjx.hp.pz.tools.HPPZTools; import com.baosight.hpjx.hp.pz.tools.HPPZTools;
import com.baosight.hpjx.hp.sc.domain.HPSC002A; import com.baosight.hpjx.hp.sc.domain.HPSC002A;
...@@ -13,6 +15,7 @@ import com.baosight.hpjx.hp.sc.domain.HPSC005; ...@@ -13,6 +15,7 @@ import com.baosight.hpjx.hp.sc.domain.HPSC005;
import com.baosight.hpjx.hp.sc.domain.HPSC005A; import com.baosight.hpjx.hp.sc.domain.HPSC005A;
import com.baosight.hpjx.hp.sc.tools.HPSCTools; import com.baosight.hpjx.hp.sc.tools.HPSCTools;
import com.baosight.hpjx.util.AssertUtils; import com.baosight.hpjx.util.AssertUtils;
import com.baosight.hpjx.util.DateUtils;
import com.baosight.hpjx.util.EiInfoUtils; import com.baosight.hpjx.util.EiInfoUtils;
import com.baosight.hpjx.util.LogUtils; import com.baosight.hpjx.util.LogUtils;
import com.baosight.hpjx.util.MapUtils; import com.baosight.hpjx.util.MapUtils;
...@@ -23,6 +26,7 @@ import com.baosight.iplat4j.core.ei.EiInfo; ...@@ -23,6 +26,7 @@ import com.baosight.iplat4j.core.ei.EiInfo;
import com.baosight.iplat4j.core.exception.PlatException; import com.baosight.iplat4j.core.exception.PlatException;
import com.baosight.iplat4j.core.service.impl.ServiceBase; import com.baosight.iplat4j.core.service.impl.ServiceBase;
import com.baosight.iplat4j.core.util.NumberUtils; import com.baosight.iplat4j.core.util.NumberUtils;
import com.baosight.iplat4j.core.web.threadlocal.UserSession;
import com.baosight.iplat4j.ed.util.SequenceGenerator; import com.baosight.iplat4j.ed.util.SequenceGenerator;
import java.math.BigDecimal; import java.math.BigDecimal;
...@@ -79,29 +83,36 @@ public class ServiceHPSC005A extends ServiceBase { ...@@ -79,29 +83,36 @@ public class ServiceHPSC005A extends ServiceBase {
* @param inInfo * @param inInfo
* @return * @return
*/ */
@Override public EiInfo save(EiInfo inInfo) {
public EiInfo insert(EiInfo inInfo) {
try { try {
Map detailMap = EiInfoUtils.getFirstRow(inInfo, "detail"); Map detailMap = EiInfoUtils.getFirstRow(inInfo, "detail");
String prodOrderNo = MapUtils.getString(detailMap, "productionOrderNo"); String prodOrderNo = MapUtils.getString(detailMap, "productionOrderNo");
List<Map> resultRows = inInfo.getBlock(EiConstant.resultBlock).getRows(); List<Map> resultRows = inInfo.getBlock(EiConstant.resultBlock).getRows();
// 生产任务号
List<String> prodTaskNos = ObjectUtils.listKey(resultRows, "prodTaskNo");
// 锁主单号 // 锁主单号
HPSCTools.HpSc005.lock(prodOrderNo); HPSCTools.HpSc005.lock(prodOrderNo);
// 锁子单
HPSCTools.HpSc005a.lock(prodTaskNos);
// 查询订单信息
HPSC005 dbSc005 = HPSCTools.HpSc005.get(prodOrderNo); HPSC005 dbSc005 = HPSCTools.HpSc005.get(prodOrderNo);
// 查询任务信息
Map<String, HPSC005A> mapSc005a = HPSCTools.HpSc005a.map(prodTaskNos);
// 写入数据
for (Map resultRow : resultRows) { for (Map resultRow : resultRows) {
HPSC005A newSc005a = new HPSC005A(); HPSC005A fSc005a = new HPSC005A();
newSc005a.fromMap(resultRow); fSc005a.fromMap(resultRow);
// 更新订单主表数量 if (fSc005a.getId() == null || fSc005a.getId() == 0) {
HPSCTools.checkAssignedNum(prodOrderNo, newSc005a.getNum()); this.add(dbSc005, fSc005a);
// 写入子表数据 } else {
newSc005a.setProdTaskNo(SequenceGenerator.getNextSequence(HPConstant.SequenceId.PROD_TASK_NO)); this.modify(dbSc005, fSc005a, mapSc005a);
newSc005a.setProdOrderNo(prodOrderNo); }
newSc005a.setTotalWt(newSc005a.getNum().multiply(dbSc005.getUnitWt()));
DaoUtils.insert(HPSC005A.INSERT, newSc005a);
} }
inInfo = this.query(inInfo); inInfo = this.query(inInfo);
// 刷新主订单信息
inInfo = this.refreshOrderInfo(inInfo);
inInfo.setStatus(EiConstant.STATUS_DEFAULT); inInfo.setStatus(EiConstant.STATUS_DEFAULT);
inInfo.setMsg("操作成功!本次对[" + resultRows.size() + "]条数据新增成功!"); inInfo.setMsg("操作成功!本次对[" + resultRows.size() + "]条数据操作成功!");
} catch (Exception e) { } catch (Exception e) {
LogUtils.setMsg(inInfo, e, "新增失败"); LogUtils.setMsg(inInfo, e, "新增失败");
} }
...@@ -109,41 +120,43 @@ public class ServiceHPSC005A extends ServiceBase { ...@@ -109,41 +120,43 @@ public class ServiceHPSC005A extends ServiceBase {
} }
/** /**
* 修改操作. * 新增
*
* @param dbSc005
* @param fSc005a
*/ */
public EiInfo update(EiInfo inInfo) { private void add(HPSC005 dbSc005, HPSC005A fSc005a) {
try { String prodOrderNo = dbSc005.getProductionOrderNo();
Map detailMap = EiInfoUtils.getFirstRow(inInfo, "detail"); // 更新订单主表数量
String prodOrderNo = MapUtils.getString(detailMap, "productionOrderNo"); HPSCTools.checkAssignedNum(prodOrderNo, fSc005a.getNum());
List<Map> resultRows = inInfo.getBlock(EiConstant.resultBlock).getRows(); // 写入子表数据
// 生产任务号 fSc005a.setProdTaskNo(SequenceGenerator.getNextSequence(HPConstant.SequenceId.PROD_TASK_NO,
List<String> prodTaskNos = ObjectUtils.listKey(resultRows, "prodTaskNo"); new String[]{prodOrderNo}));
// 锁主单号 fSc005a.setProdOrderNo(prodOrderNo);
HPSCTools.HpSc005.lock(prodOrderNo); fSc005a.setTotalWt(fSc005a.getNum().multiply(dbSc005.getUnitWt()));
// 锁子单 DaoUtils.insert(HPSC005A.INSERT, fSc005a);
HPSCTools.HpSc005a.lock(prodTaskNos); }
// 查询数据库记录
Map<String, HPSC005A> mapSc005a = HPSCTools.HpSc005a.map(prodTaskNos); /**
HPSC005 dbSc005 = HPSCTools.HpSc005.get(prodOrderNo); * 修改数据
for (Map resultRow : resultRows) { *
HPSC005A newSc005a = new HPSC005A(); * @param dbSc005
newSc005a.fromMap(resultRow); * @param fSc005a
// 计算差异数量 * @param mapSc005a
HPSC005A dbSc005a = mapSc005a.get(newSc005a.getProdTaskNo()); */
BigDecimal diffNum = newSc005a.getNum().subtract(dbSc005a.getNum()); private void modify(HPSC005 dbSc005, HPSC005A fSc005a, Map<String, HPSC005A> mapSc005a) {
// 更新订单主表数量 String prodOrderNo = dbSc005.getProductionOrderNo();
HPSCTools.checkAssignedNum(prodOrderNo, diffNum); // 数据校验
// 更新子单 HPSC005A dbSc005a = mapSc005a.get(fSc005a.getProdTaskNo());
newSc005a.setTotalWt(newSc005a.getNum().multiply(dbSc005.getUnitWt())); AssertUtils.isGt(dbSc005a.getCompleteNum(), fSc005a.getNum(),
DaoUtils.update(HPSC005A.UPDATE, newSc005a); String.format("任务[%s]修改后的数量不能小于已完工的数量", fSc005a.getId()));
} // 计算差异数量
inInfo = this.query(inInfo); BigDecimal diffNum = fSc005a.getNum().subtract(dbSc005a.getNum());
inInfo.setStatus(EiConstant.STATUS_DEFAULT); // 更新订单主表数量
inInfo.setMsg("操作成功!本次对[" + resultRows.size() + "]条数据修改成功!"); HPSCTools.checkAssignedNum(prodOrderNo, diffNum);
} catch (Exception e) { // 更新子单
LogUtils.setMsg(inInfo, e, "修改失败"); fSc005a.setTotalWt(fSc005a.getNum().multiply(dbSc005.getUnitWt()));
} DaoUtils.update(HPSC005A.UPDATE, fSc005a);
return inInfo;
} }
/** /**
...@@ -167,6 +180,8 @@ public class ServiceHPSC005A extends ServiceBase { ...@@ -167,6 +180,8 @@ public class ServiceHPSC005A extends ServiceBase {
DaoUtils.update(HPSC005A.DELETE, fSc005a); DaoUtils.update(HPSC005A.DELETE, fSc005a);
} }
inInfo = this.query(inInfo); inInfo = this.query(inInfo);
// 刷新主订单信息
inInfo = this.refreshOrderInfo(inInfo);
inInfo.setStatus(EiConstant.STATUS_DEFAULT); inInfo.setStatus(EiConstant.STATUS_DEFAULT);
inInfo.setMsg("操作成功!本次对[" + resultRows.size() + "]条数据删除成功!"); inInfo.setMsg("操作成功!本次对[" + resultRows.size() + "]条数据删除成功!");
} catch (Exception e) { } catch (Exception e) {
...@@ -176,6 +191,21 @@ public class ServiceHPSC005A extends ServiceBase { ...@@ -176,6 +191,21 @@ public class ServiceHPSC005A extends ServiceBase {
} }
/** /**
* 刷新主订单信息
*
* @param inInfo
* @return
*/
private EiInfo refreshOrderInfo(EiInfo inInfo) {
Map detailMap = EiInfoUtils.getFirstRow(inInfo, "detail");
String prodOrderNo = MapUtils.getString(detailMap, "productionOrderNo");
HPSC005 dbSc005 = HPSCTools.HpSc005.get(prodOrderNo);
inInfo.getBlock("detail").getRows().clear();
inInfo.getBlock("detail").addRow(dbSc005);
return inInfo;
}
/**
* 分派 * 分派
* *
* @param inInfo * @param inInfo
......
...@@ -58,23 +58,26 @@ ...@@ -58,23 +58,26 @@
<isNotEmpty prepend=" AND " property="projCode"> <isNotEmpty prepend=" AND " property="projCode">
PROJ_CODE like CONCAT('%', #projCode#, '%') PROJ_CODE like CONCAT('%', #projCode#, '%')
</isNotEmpty> </isNotEmpty>
<isNotEmpty prepend=" AND " property="projName"> <isNotEmpty prepend=" AND " property="projName">
PROJ_NAME like CONCAT('%', #projName#, '%') PROJ_NAME like CONCAT('%', #projName#, '%')
</isNotEmpty> </isNotEmpty>
<isNotEmpty prepend=" AND " property="productionOrderNo"> <isNotEmpty prepend=" AND " property="productionOrderNo">
PRODUCTION_ORDER_NO like CONCAT('%', #productionOrderNo#, '%') PRODUCTION_ORDER_NO LIKE CONCAT('%', #productionOrderNo#, '%')
</isNotEmpty> </isNotEmpty>
<isNotEmpty prepend=" AND " property="prdtType"> <isNotEmpty prepend=" AND " property="prdtType">
PRDT_TYPE = #prdtType# PRDT_TYPE = #prdtType#
</isNotEmpty> </isNotEmpty>
<isNotEmpty prepend=" AND " property="prdtCode"> <isNotEmpty prepend=" AND " property="prdtCode">
PRDT_CODE = #prdtCode# PRDT_CODE = #prdtCode#
</isNotEmpty> </isNotEmpty>
<isNotEmpty prepend=" AND " property="prdtName"> <isNotEmpty prepend=" AND " property="partName">
PRDT_NAME = #prdtName# PART_NAME LIKE CONCAT('%', #partName#, '%')
</isNotEmpty> </isNotEmpty>
<isNotEmpty prepend=" AND " property="prdtName">
PRDT_NAME LIKE CONCAT('%', #prdtName#, '%')
</isNotEmpty>
<isNotEmpty prepend=" AND " property="planCompletionDate"> <isNotEmpty prepend=" AND " property="planCompletionDate">
PLAN_COMPLETION_DATE like CONCAT('%', #planCompletionDate#, '%') PLAN_COMPLETION_DATE = #planCompletionDate#
</isNotEmpty> </isNotEmpty>
<isNotEmpty prepend=" AND " property="num"> <isNotEmpty prepend=" AND " property="num">
NUM = #num# NUM = #num#
......
...@@ -152,6 +152,16 @@ ...@@ -152,6 +152,16 @@
</update> </update>
<!-- 已完成数量 --> <!-- 已完成数量 -->
<update id="update">
UPDATE ${hpjxSchema}.T_HPSC005A
SET
NUM = #num#,
TOTAL_WT =#totalWt#,
<include refid="updateRevise"/>
WHERE ID = #id#
</update>
<!-- 已完成数量 -->
<update id="updateCompleteNum"> <update id="updateCompleteNum">
UPDATE ${hpjxSchema}.T_HPSC005A UPDATE ${hpjxSchema}.T_HPSC005A
SET SET
......
...@@ -90,6 +90,9 @@ ...@@ -90,6 +90,9 @@
<isNotEmpty prepend=" AND " property="statuses"> <isNotEmpty prepend=" AND " property="statuses">
A.STATUS IN <iterate close=")" open="(" conjunction="," property="statuses">#statuses[]#</iterate> A.STATUS IN <iterate close=")" open="(" conjunction="," property="statuses">#statuses[]#</iterate>
</isNotEmpty> </isNotEmpty>
<isEqual prepend=" AND " property="isComplete" compareValue="0">
B.NUM - B.COMPLETE_NUM &gt; 0
</isEqual>
</sql> </sql>
<sql id="order"> <sql id="order">
......
package com.baosight.hpjx.util; package com.baosight.hpjx.util;
import org.apache.commons.collections.MapUtils;
import org.apache.commons.lang.StringUtils;
import org.apache.poi.ss.formula.functions.T;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.stream.Collectors; import java.util.stream.Collectors;
...@@ -94,6 +90,19 @@ public class ObjectUtils extends org.apache.commons.lang.ObjectUtils { ...@@ -94,6 +90,19 @@ public class ObjectUtils extends org.apache.commons.lang.ObjectUtils {
} }
/** /**
* 检查object是empty或null
*
* @param object
* @return
*/
public static boolean isNotBlank(Object object) {
if (object == null) {
return true;
}
return StringUtils.isNotBlank(object.toString());
}
/**
* 从集合MAP中取KEY * 从集合MAP中取KEY
* *
* @param items * @param items
...@@ -101,7 +110,8 @@ public class ObjectUtils extends org.apache.commons.lang.ObjectUtils { ...@@ -101,7 +110,8 @@ public class ObjectUtils extends org.apache.commons.lang.ObjectUtils {
* @return * @return
*/ */
public static <T> List<T> listKey(List<Map> items, String keyName) { public static <T> List<T> listKey(List<Map> items, String keyName) {
return items.stream().map(item -> (T) item.get(keyName)).collect(Collectors.toList()); return items.stream().map(item -> (T) item.get(keyName)).filter(ObjectUtils::isNotBlank).distinct()
.collect(Collectors.toList());
} }
} }
...@@ -8,33 +8,31 @@ ...@@ -8,33 +8,31 @@
<EF:EFPage title="生产入库单"> <EF:EFPage title="生产入库单">
<EF:EFRegion id="inqu" title="查询条件"> <EF:EFRegion id="inqu" title="查询条件">
<div class="row"> <div class="row">
<EF:EFInput ename="inqu_status-0-productionOrderNo" cname="生产订单号" colWidth="3"/> <EF:EFDatePicker cname="单据日期" ename="documentDate" blockId="inqu_status" row="0" colWidth="3"
<EF:EFInput ename="inqu_status-0-prodNo" cname="生产入库单号" colWidth="3"/> format="yyyy-MM-dd" readonly="true"/>
<EF:EFDatePicker ename="inqu_status-0-documentDate" cname="单据日期" colWidth="3" format="yyyy-MM-dd" <EF:EFInput cname="入库单号" ename="prodNo" blockId="inqu_status" row="0" colWidth="3"/>
/> <EF:EFInput cname="项目名称" ename="projName" blockId="inqu_status" row="0" colWidth="3"/>
<EF:EFSelect cname="存货类型" ename="inqu_status-0-inventType" colWidth="3" filter="contains"> <EF:EFSelect cname="仓库名称" ename="whCode" blockId="inqu_status" row="0" colWidth="3"
filter="contains" defultValue="">
<EF:EFOption label="全部" value=""/> <EF:EFOption label="全部" value=""/>
<EF:EFCodeOption codeName="hpjx.hpkc.inventType"/> <EF:EFOptions blockId="wh_record_block_id" textField="textField" valueField="valueField"/>
</EF:EFSelect> </EF:EFSelect>
</div> </div>
<div class="row"> <div class="row">
<EF:EFSelect cname="仓库名称" ename="inqu_status-0-whCode" colWidth="3" filter="contains" defultValue=""> <EF:EFInput cname="部件名称" ename="prdtName" blockId="inqu_status" row="0" colWidth="3"/>
<EF:EFOption label="全部" value=""/> <EF:EFInput cname="零部件名称" ename="partName" blockId="inqu_status" row="0" colWidth="3"/>
<EF:EFOptions blockId="wh_record_block_id" textField="textField" valueField="valueField"/> <EF:EFInput cname="生产订单号" ename="prodOrderNo" blockId="inqu_status" row="0" colWidth="3"/>
</EF:EFSelect> <EF:EFInput cname="生产任务号" ename="prodTaskNo" blockId="inqu_status" row="0" colWidth="3"/>
<EF:EFSelect cname="存货名称" ename="inqu_status-0-inventCode" colWidth="3" filter="contains" defultValue=""> </div>
<div class="row">
<EF:EFSelect cname="是否删除" ename="deleteFlag" blockId="inqu_status" row="0" colWidth="3" defaultValue="0">
<EF:EFOption label="全部" value=""/> <EF:EFOption label="全部" value=""/>
<EF:EFOptions blockId="invent_name_block_id" textField="textField" valueField="valueField"/> <EF:EFCodeOption codeName="hpjx.hpjx.deleteFlag"/>
</EF:EFSelect> </EF:EFSelect>
<%-- <EF:EFSelect cname="是否删除" ename="inqu_status-0-deleteFlag" colWidth="3" defaultValue="0">--%> <EF:EFDateSpan startCname="创建日期(从)" endCname="至" blockId="inqu_status"
<%-- <EF:EFOption label="全部" value=""/>--%> startName="createdDateFrom" endName="createdDateTo" row="0" role="date"
<%-- <EF:EFCodeOption codeName="hpjx.hpjx.deleteFlag"/>--%> format="yyyy-MM-dd" ratio="3:3" satrtRatio="4:8" endRatio="4:8" readonly="true">
<%-- </EF:EFSelect>--%> </EF:EFDateSpan>
<%-- <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>
...@@ -43,6 +41,7 @@ ...@@ -43,6 +41,7 @@
<EF:EFColumn ename="id" cname="内码" hidden="true"/> <EF:EFColumn ename="id" cname="内码" hidden="true"/>
<EF:EFColumn ename="documentDate" cname="单据日期" width="100" align="center" editType="date" readonly="true" <EF:EFColumn ename="documentDate" cname="单据日期" width="100" align="center" editType="date" readonly="true"
dateFormat="yyyy-MM-dd" parseFormats="['yyyyMMdd']" required="true"/> dateFormat="yyyy-MM-dd" parseFormats="['yyyyMMdd']" required="true"/>
<EF:EFColumn ename="projCode" cname="项目号" enable="false" width="140" align="center"/>
<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:EFComboColumn ename="whCode" cname="仓库编码" enable="false" width="120" align="center"
blockName="wh_record_block_id" textField="textField" valueField="valueField" blockName="wh_record_block_id" textField="textField" valueField="valueField"
...@@ -54,9 +53,8 @@ ...@@ -54,9 +53,8 @@
<EF:EFColumn ename="amount" cname="数量" enable="false" width="120" align="right" format="{0:N3}"/> <EF:EFColumn ename="amount" cname="数量" enable="false" width="120" align="right" format="{0:N3}"/>
<EF:EFColumn ename="weight" cname="重量" enable="false" width="120" align="right" format="{0:N3}"/> <EF:EFColumn ename="weight" cname="重量" enable="false" width="120" align="right" format="{0:N3}"/>
<EF:EFColumn ename="remark" cname="备注" enable="false" width="150"/> <EF:EFColumn ename="remark" cname="备注" enable="false" width="150"/>
<EF:EFColumn ename="projCode" cname="项目号" enable="false" width="140" align="center"/> <EF:EFColumn ename="prdtCode" cname="部件编码" enable="false" width="120" align="center" hidden="true"/>
<EF:EFColumn ename="prdtCode" cname="部件编码" enable="false" width="120" align="center"/> <EF:EFColumn ename="partCode" cname="零部件编码" enable="false" width="120" align="center" hidden="true"/>
<EF:EFColumn ename="partCode" cname="零部件编码" enable="false" width="120" align="center"/>
<EF:EFColumn ename="prodTaskNo" cname="生产任务号" enable="false" width="150" align="center"/> <EF:EFColumn ename="prodTaskNo" cname="生产任务号" enable="false" width="150" align="center"/>
<EF:EFColumn ename="prodOrderNo" cname="生产订单号" enable="false" width="140" align="center"/> <EF:EFColumn ename="prodOrderNo" cname="生产订单号" enable="false" width="140" align="center"/>
</EF:EFGrid> </EF:EFGrid>
......
...@@ -16,6 +16,8 @@ ...@@ -16,6 +16,8 @@
</div> </div>
<div class="row"> <div class="row">
<EF:EFInput cname="零部件名称" ename="partName" blockId="inqu_status" row="0" colWidth="3"/> <EF:EFInput cname="零部件名称" ename="partName" blockId="inqu_status" row="0" colWidth="3"/>
<EF:EFInput cname="厂区名称" ename="factoryName" blockId="inqu_status" row="0" colWidth="3"/>
<EF:EFInput cname="生产组名称" ename="orgName" blockId="inqu_status" row="0" colWidth="3"/>
</div> </div>
</div> </div>
</EF:EFRegion> </EF:EFRegion>
...@@ -44,7 +46,7 @@ ...@@ -44,7 +46,7 @@
<EF:EFColumn ename="partCode" cname="零部件编码" enable="false" width="120" align="center"/> <EF:EFColumn ename="partCode" cname="零部件编码" enable="false" width="120" align="center"/>
<EF:EFColumn ename="factoryCode" cname="厂区编码" enable="false" width="150"/> <EF:EFColumn ename="factoryCode" cname="厂区编码" enable="false" width="150"/>
<EF:EFColumn ename="orgNo" cname="生产组编码" enable="false" width="150"/> <EF:EFColumn ename="orgNo" cname="生产组编码" enable="false" width="150"/>
<EF:EFColumn ename="prodTaskNo" cname="生产任务号" enable="false" width="140" align="center"/> <EF:EFColumn ename="prodTaskNo" cname="生产任务号" enable="false" width="150" align="center"/>
<EF:EFColumn ename="prodOrderNo" cname="生产订单号" enable="false" width="140" align="center"/> <EF:EFColumn ename="prodOrderNo" cname="生产订单号" enable="false" width="140" align="center"/>
</EF:EFGrid> </EF:EFGrid>
</EF:EFRegion> </EF:EFRegion>
......
...@@ -5,7 +5,7 @@ $(function () { ...@@ -5,7 +5,7 @@ $(function () {
$("#QUERY").on("click", query); $("#QUERY").on("click", query);
// 拆单派工 // 拆单派工
$("#TEAR_ASSIGN").on("click", tearAssign); // $("#TEAR_ASSIGN").on("click", tearAssign);
// 批量分派 // 批量分派
$("#ASSIGN").on("click", assign); $("#ASSIGN").on("click", assign);
...@@ -18,15 +18,16 @@ $(function () { ...@@ -18,15 +18,16 @@ $(function () {
columns: [{ columns: [{
field: "operator", field: "operator",
template: function (item) { template: function (item) {
let productionOrderNo = item.productionOrderNo; let prodOrderNo = item.productionOrderNo;
let filePath1 = item.filePath1; let filePath1 = item.filePath1;
let template = ''; let template = '<a style="cursor: pointer;display: inline-flex;justify-content: center;margin:auto 5px" '
+ 'onclick="tearAssign(\'' + prodOrderNo + '\')" >拆单派工</a>';
template += '<a style="cursor: pointer;display: inline-flex;justify-content: center;margin:auto 5px" '
+ 'onclick="showGroupDetail(\'' + prodOrderNo + '\')" >详情</a>';
if (filePath1) { if (filePath1) {
template += '<a style="cursor: pointer;display: inline-flex;justify-content: center;margin:auto 5px" ' template += '<a style="cursor: pointer;display: inline-flex;justify-content: center;margin:auto 5px" '
+ 'onclick="showUploadFile(' + filePath1 + ')" >附件</a>&nbsp;'; + 'onclick="showUploadFile(' + filePath1 + ')" >附件</a>';
} }
template += '<a style="cursor: pointer;display: inline-flex;justify-content: center;margin:auto 5px" '
+ 'onclick="showGroupDetail(\'' + productionOrderNo + '\')" >详情</a>';
return template return template
} }
}] }]
...@@ -42,17 +43,12 @@ function query() { ...@@ -42,17 +43,12 @@ function query() {
/** /**
* 拆单派工 * 拆单派工
*
* @param productionOrderNo
*/ */
function tearAssign() { function tearAssign(prodOrderNo) {
//重置全局变量
let rows = resultGrid.getCheckedRows()
if (rows.length != 1) {
message("只能选择一条需要拆单分派的数据");
return;
}
let productionOrderNo = rows[0].productionOrderNo
JSColorbox.open({ JSColorbox.open({
href: "HPSC005A?methodName=initLoad&inqu_status-0-prodOrderNo=" + productionOrderNo, href: "HPSC005A?methodName=initLoad&inqu_status-0-prodOrderNo=" + prodOrderNo,
title: "<div style='text-align: center;'>拆单派工</div>", title: "<div style='text-align: center;'>拆单派工</div>",
width: "70%", width: "70%",
height: "80%", height: "80%",
......
...@@ -8,14 +8,15 @@ ...@@ -8,14 +8,15 @@
<EF:EFPage title="生产订单"> <EF:EFPage title="生产订单">
<EF:EFRegion id="inqu" title="查询条件"> <EF:EFRegion id="inqu" title="查询条件">
<div class="row"> <div class="row">
<EF:EFInput blockId="inqu_status" ename="productionOrderNo" cname="生产订单号:" row="0" colWidth="3"/> <EF:EFInput cname="生产订单号" blockId="inqu_status" ename="productionOrderNo" row="0" colWidth="3"/>
<EF:EFInput blockId="inqu_status" ename="projCode" cname="项目号:" row="0" colWidth="3"/> <EF:EFInput cname="项目号" blockId="inqu_status" ename="projCode" row="0" colWidth="3"/>
<EF:EFInput blockId="inqu_status" ename="projName" cname="项目名称:" row="0" colWidth="3"/> <EF:EFInput cname="项目名称" blockId="inqu_status" ename="projName" row="0" colWidth="3"/>
<EF:EFInput blockId="inqu_status" ename="orgNo" cname="生产组:" row="0" colWidth="3"/> <EF:EFInput cname="部件名称" blockId="inqu_status" ename="prdtName" row="0" colWidth="3"/>
</div> </div>
<div class="row"> <div class="row">
<EF:EFDatePicker blockId="inqu_status" ename="planCompletionDate" cname="计划完成日期:" row="0" colWidth="3" <EF:EFInput cname="零部件名称" blockId="inqu_status" ename="partName" row="0" colWidth="3"/>
format="yyyy-MM-dd"/> <EF:EFDatePicker cname="计划完成日期:" blockId="inqu_status" ename="planCompletionDate" row="0" colWidth="3"
format="yyyy/MM/dd" readonly="true"/>
<EF:EFSelect cname="状态:" optionLabel="全部" blockId="inqu_status" ename="status" row="0" colWidth="3"> <EF:EFSelect cname="状态:" optionLabel="全部" blockId="inqu_status" ename="status" row="0" colWidth="3">
<EF:EFOption label="未派工" value="0"/> <EF:EFOption label="未派工" value="0"/>
<EF:EFOption label="部分派工" value="1"/> <EF:EFOption label="部分派工" value="1"/>
...@@ -25,25 +26,20 @@ ...@@ -25,25 +26,20 @@
</EF:EFRegion> </EF:EFRegion>
<EF:EFRegion id="result" title="记录集"> <EF:EFRegion id="result" title="记录集">
<EF:EFGrid blockId="result" autoDraw="override" checkMode="row"> <EF:EFGrid blockId="result" autoDraw="override">
<EF:EFColumn ename="id" cname="主键" hidden="true"/> <EF:EFColumn ename="id" cname="主键" hidden="true"/>
<EF:EFColumn ename="operator" cname="操作" enable="false" width="110" align="center"/> <EF:EFColumn ename="operator" cname="操作" enable="false" width="150" align="center"/>
<EF:EFColumn ename="productionOrderNo" cname="生产订单号" enable="false" width="140" align="center"/> <EF:EFColumn ename="productionOrderNo" cname="生产订单号" enable="false" width="140" align="center"/>
<EF:EFComboColumn ename="status" cname="状态" enable="false" width="90" align="center"> <EF:EFComboColumn ename="status" cname="状态" enable="false" width="90" align="center">
<EF:EFOption label="未派工" value="0"/> <EF:EFOption label="未派工" value="0"/>
<EF:EFOption label="部分派工" value="1"/> <EF:EFOption label="部分派工" value="1"/>
<EF:EFOption label="全部派工" value="2"/> <EF:EFOption label="全部派工" value="2"/>
</EF:EFComboColumn> </EF:EFComboColumn>
<EF:EFColumn ename="projCode" cname="项目号" enable="false" width="140" align="center"/>
<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="prdtType" cname="部件类型" enable="false" width="90" align="center">
<EF:EFCodeOption codeName="hpjx.hpkc.inventType"/>
</EF:EFComboColumn>
<EF:EFColumn ename="prdtName" cname="部件名称" enable="false" width="120" align="center"/> <EF:EFColumn ename="prdtName" cname="部件名称" enable="false" width="120" align="center"/>
<EF:EFColumn ename="prdtSpec" cname="部件规格" enable="false" width="120" align="center"/> <EF:EFColumn ename="prdtSpec" cname="部件规格" enable="false" width="120" align="center"/>
<EF:EFColumn ename="remark" cname="部件备注" enable="false"/> <EF:EFColumn ename="remark" cname="部件备注" enable="false"/>
<EF:EFComboColumn ename="partType" cname="零件类型" enable="false" width="90" align="center">
<EF:EFCodeOption codeName="hpjx.hpkc.inventType"/>
</EF:EFComboColumn>
<EF:EFColumn ename="partName" 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="120" align="center"/> <EF:EFColumn ename="partSpec" cname="零件规格" enable="false" width="120" align="center"/>
<EF:EFColumn ename="remark1" cname="零件备注"/> <EF:EFColumn ename="remark1" cname="零件备注"/>
...@@ -51,9 +47,8 @@ ...@@ -51,9 +47,8 @@
<EF:EFColumn ename="assignedNum" cname="已派工数量" enable="false" width="120" align="right" format="{0:N3}"/> <EF:EFColumn ename="assignedNum" cname="已派工数量" enable="false" width="120" align="right" format="{0:N3}"/>
<EF:EFColumn ename="num" cname="计划数量" enable="false" width="120" align="right" format="{0:N3}"/> <EF:EFColumn ename="num" cname="计划数量" enable="false" width="120" align="right" format="{0:N3}"/>
<EF:EFColumn ename="totalWt" cname="计划重量" enable="false" width="120" align="right" format="{0:N3}"/> <EF:EFColumn ename="totalWt" cname="计划重量" enable="false" width="120" align="right" format="{0:N3}"/>
<EF:EFColumn ename="projCode" cname="项目号" enable="false" width="140" align="center"/> <EF:EFColumn ename="prdtCode" cname="部件编码" enable="false" width="120" align="center" hidden="true"/>
<EF:EFColumn ename="prdtCode" cname="部件编码" enable="false" width="120" align="center"/> <EF:EFColumn ename="partCode" cname="零件编码" enable="false" width="120" align="center" hidden="true"/>
<EF:EFColumn ename="partCode" cname="零件编码" enable="false" width="120" align="center"/>
</EF:EFGrid> </EF:EFGrid>
</EF:EFRegion> </EF:EFRegion>
</EF:EFPage> </EF:EFPage>
...@@ -12,7 +12,16 @@ $(function () { ...@@ -12,7 +12,16 @@ $(function () {
class: "i-input-readonly" class: "i-input-readonly"
} }
}], }],
onSave: function (e) {
// 阻止后台保存请求,使用自定义保存
e.preventDefault();
save();
},
onDelete: function (e) {
// 阻止后台删除请求,使用自定义删除
e.preventDefault();
deleteFunc();
}
} }
} }
...@@ -35,3 +44,34 @@ function query() { ...@@ -35,3 +44,34 @@ function query() {
resultGrid.dataSource.page(1); resultGrid.dataSource.page(1);
} }
/**
* 保存
*/
let save = function () {
let rows = resultGrid.getCheckedRows();
if (rows.length < 1) {
message("请选择数据");
return;
}
JSUtils.confirm("确定对勾选中的[" + rows.length + "]条数据做\"保存\"操作? ", {
ok: function () {
JSUtils.submitGridsData("result", "HPSC005A", "save", true);
}
});
}
/**
* 删除
*/
let deleteFunc = function () {
let rows = resultGrid.getCheckedRows();
if (rows.length < 1) {
message("请选择数据");
return;
}
JSUtils.confirm("确定对勾选中的[" + rows.length + "]条数据做\"删除\"操作? ", {
ok: function () {
JSUtils.submitGridsData("result", "HPSC005A", "delete", true);
}
});
}
...@@ -34,21 +34,23 @@ ...@@ -34,21 +34,23 @@
</EF:EFRegion> </EF:EFRegion>
<EF:EFRegion id="result" title="明细信息"> <EF:EFRegion id="result" title="明细信息">
<EF:EFGrid blockId="result" autoDraw="override"> <EF:EFGrid blockId="result" autoDraw="override" checkMode="row">
<EF:EFColumn ename="id" cname="主键" hidden="true"/> <EF:EFColumn ename="id" cname="任务ID" enable="false" width="80" align="center"/>
<EF:EFColumn enable="false" ename="factoryCode" cname="厂区编码" hidden="true"/> <EF:EFColumn ename="prodTaskNo" cname="任务单号" enable="false" hidden="true"/>
<EF:EFPopupColumn ename="factoryName" cname="厂区" width="200" popupType="ServiceGrid" <EF:EFColumn ename="factoryCode" cname="厂区编码" enable="false" hidden="true"/>
<EF:EFPopupColumn ename="factoryName" cname="厂区" width="200" align="center" popupType="ServiceGrid"
popupTitle="厂区信息" serviceName="HPPZ011" methodName="queryComboBoxAll" popupTitle="厂区信息" serviceName="HPPZ011" methodName="queryComboBoxAll"
resultId="factory_group_ecord_block_id" resultId="factory_group_ecord_block_id"
columnEnames="textField,param2Field" columnEnames="textField,param2Field"
columnCnames="厂区,生产组" columnCnames="厂区,生产组"
backFillColumnIds="param2Field,param1Field,valueField,textField" backFillColumnIds="param2Field,param1Field,valueField,textField"
backFillFieldIds="orgName,orgNo,factoryCode,factoryName" backFillFieldIds="orgName,orgNo,factoryCode,factoryName"
valueField="textField" textField="textField" required="true"/> valueField="textField" textField="textField" readonly="true" required="true"/>
<EF:EFColumn ename="orgNo" cname="生产组代码" enable="false" hidden="true"/> <EF:EFColumn ename="orgNo" cname="生产组代码" enable="false" hidden="true"/>
<EF:EFColumn ename="orgName" cname="生产组" enable="false" align="center"/> <EF:EFColumn ename="orgName" cname="生产组" enable="false" align="center"/>
<EF:EFColumn ename="num" cname="分派数量" format="{0:N3}" required="true"/> <EF:EFColumn ename="num" cname="分派数量" format="{0:N3}" required="true"/>
<EF:EFColumn ename="totalWt" cname="分派重量" enable="false" format="{0:N3}"/> <EF:EFColumn ename="totalWt" cname="分派重量" enable="false" format="{0:N3}"/>
<EF:EFColumn ename="completeNum" cname="已完工数量" enable="false" format="{0:N3}"/>
</EF:EFGrid> </EF:EFGrid>
</EF:EFRegion> </EF:EFRegion>
</EF:EFPage> </EF:EFPage>
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