常熟吴彦祖 4 months ago
parent
commit
5c72a92f9a
  1. 5
      src/main/java/com/xujie/modules/part/dao/PartMapper.java
  2. 28
      src/main/java/com/xujie/modules/part/service/Impl/PartServiceImpl.java
  3. 14
      src/main/resources/mapper/part/mapperXml/PartMapper.xml

5
src/main/java/com/xujie/modules/part/dao/PartMapper.java

@ -30,4 +30,9 @@ public interface PartMapper extends BaseMapper<Part> {
List<PlmPropertiesItemAvailableData> getAvailableValueList(PartSubPropertiesValueData partSubPropertiesValueData);
IPage<PartVo> searchPartApproveList(Page<PartVo> partVoPage,@Param("query")PartVo data);
/** 按站点+料号更新物料阶段 */
int updatePartStageBySiteAndPartNo(@Param("site") String site,
@Param("partNo") String partNo,
@Param("partStage") String partStage);
}

28
src/main/java/com/xujie/modules/part/service/Impl/PartServiceImpl.java

@ -9,6 +9,7 @@ import com.xujie.modules.part.dao.PartMapper;
import com.xujie.modules.part.entity.Part;
import com.xujie.modules.part.service.Iface.IPartService;
import com.xujie.modules.part.vo.PartVo;
import com.xujie.modules.supplierLocalization.entity.SupplierLocalizationTaskEntity;
import com.xujie.modules.workFlow.data.ErfFlowInstanceData;
import com.xujie.modules.workFlow.data.ErfFlowNodeData;
import com.xujie.modules.workFlow.data.ErfFlowNodeInstanceData;
@ -113,6 +114,7 @@ public class PartServiceImpl extends ServiceImpl<PartMapper, Part> implements IP
* @param username
*/
@Override
@Transactional
public void partApprove(PartVo data, String username) {
ErfFlowNodeInstanceData nodeInstanceData = new ErfFlowNodeInstanceData();
nodeInstanceData.setApplyNo(data.getApplyNo());
@ -125,12 +127,26 @@ public class PartServiceImpl extends ServiceImpl<PartMapper, Part> implements IP
//流程审批
erfFlowInstanceService.approveNodeInstance(nodeInstanceData, username);
//判断是否最后一个节点,修改产品类型为已审批
ErfFlowNodeData flowNodeData = erfFlowInstanceMapper.getFlowNodeData(nodeInstanceData.getNodeCode(),data.getSite());
if (flowNodeData == null || "END".equals(flowNodeData.getNodeType()) || Objects.equals(data.getSpecialRelease(), "Y")) {
Part part = new Part();
part.setId(data.getId());
part.setPartStage("Approved");
baseMapper.updateById(part);
// ErfFlowNodeData flowNodeData = erfFlowInstanceMapper.getFlowNodeData(nodeInstanceData.getNodeCode(),data.getSite());
// if (flowNodeData == null || "END".equals(flowNodeData.getNodeType()) || Objects.equals(data.getSpecialRelease(), "Y")) {
// Part part = new Part();
// part.setId(data.getId());
// part.setPartStage("Approved");
// baseMapper.updateById(part);
// }
ErfFlowInstanceData flowInstance = erfFlowInstanceService.getInstanceByApplyNo(
data.getApplyNo(), data.getSite(), data.getOrderType());
if (flowInstance != null && "COMPLETED".equals(flowInstance.getStatus())) {
String site = flowInstance.getSite();
String partNo = flowInstance.getOrderRef1();
if (StringUtils.isBlank(site) || StringUtils.isBlank(partNo)) {
throw new RuntimeException("流程实例缺少工厂编码或料号,无法更新物料阶段");
}
int rows = baseMapper.updatePartStageBySiteAndPartNo(site, partNo, "Approved");
if (rows <= 0) {
throw new RuntimeException("更新物料阶段失败,未找到对应物料记录(按site+part_no)");
}
}
}

14
src/main/resources/mapper/part/mapperXml/PartMapper.xml

@ -23,12 +23,13 @@
<result column="unit" property="unit" />
<result column="status" property="status" />
<result column="code_no" property="codeNo" />
<result column="part_stage" property="partStage" />
<result column="sku" property="sku" />
</resultMap>
<!-- 通用查询结果列 -->
<sql id="BaseColumnList">
site, part_no, part_desc, remark, create_by, create_date, update_by, update_date, npc, part_spec, buyer_name, buyer_id, sourcing_name, sourcing_id, category, unit, status, code_no, id,sku
site, part_no, part_desc, remark, create_by, create_date, update_by, update_date, npc, part_spec, buyer_name, buyer_id, sourcing_name, sourcing_id, category, unit, status, code_no, part_stage, id, sku
</sql>
<select id="getListByModel" resultType="com.xujie.modules.part.entity.Part">
@ -55,7 +56,7 @@
<if test="codeNo != null and codeNo != '' "> and code_no = #{codeNo}</if>
<if test="id != null "> and id = #{id}</if>
<if test="sku != null and sku != '' "> and sku = #{sku}</if>
ORDER BY id
ORDER BY part_no
</select>
<select id="myPage" resultType="com.xujie.modules.part.vo.PartVo">
@ -82,7 +83,7 @@
<if test="query.status != null and query.status != ''"> and status = '${query.status}'</if>
<if test="query.codeNo != null and query.codeNo != '' "> and code_no like '%${query.codeNo}%'</if>
<if test="query.sku != null and query.sku != '' "> and sku like '%${query.sku}%'</if>
ORDER BY id
ORDER BY part_no
</select>
<select id="getAvailableValueList" resultType="com.xujie.modules.base.data.PlmPropertiesItemAvailableData">
select
@ -164,5 +165,12 @@
order by p.id desc
</select>
<update id="updatePartStageBySiteAndPartNo">
UPDATE part
SET part_stage = #{partStage},
update_date = GETDATE()
WHERE site = #{site}
AND part_no = #{partNo}
</update>
</mapper>
Loading…
Cancel
Save