Merge remote-tracking branch 'origin/master'

master
Yangwl 11 months ago
commit 27853f2ac9

@ -103,6 +103,15 @@ public class BaseBomDTO extends BaseEntity {
private String productGroupName;
private String productCode;
private String workorderCode;
private String parentOrder;
public String getParentOrder() {
return parentOrder;
}
public void setParentOrder(String parentOrder) {
this.parentOrder = parentOrder;
}
public String getWorkorderCode() {
return workorderCode;

@ -157,9 +157,15 @@ public class RyTask {
/************质量管理系统定时任务开始*****************/
//过程巡检每3分钟执行检查一次
public void createProduceXJTask(){
logger.info("++质量管理系统+过程巡检+开始++createProduceXJTask+++++");
logger.info("++质量管理系统+过程巡检任务创建+开始++createProduceXJTask+++++");
remoteQualityService.createProduceXJTask();
}
//来料检验批量检验任务创建每30分钟执行一次
public void createIncomeBatchTask(){
logger.info("++质量管理系统+来料检验任务创建+开始++createIncomeBatchTask+++++");
remoteQualityService.createIncomeBatchTask();
}
/************质量管理系统定时任务结束*****************/
/************hr 人力基础数据定时任务开始*****************/
@ -182,12 +188,5 @@ public class RyTask {
}
/************部门基础数据定时任务开始*****************/
/************质量管理系统-来料检验批量检验任务创建-定时任务开始*****************/
//来料检验批量检验任务创建每30分钟执行一次
public void createIncomeBatchTask(){
logger.info("++质量管理系统+来料检验批量检验任务创建+开始++createIncomeBatchTask+++++");
remoteQualityService.createIncomeBatchTask();
}
/************质量管理系统-来料检验批量检验任务创建-定时任务结束*****************/
}

@ -142,4 +142,6 @@ public interface MesReportWorkMapper {
List<MesReportWorkConsume> getWarehouseList(MesReportWorkConsume workConsume);
List<MesReportWorkConsume> getUpdateAttr1Boms(MesReportWork workorderCode);
int updateAttr2(MesReportWork workorder);
}

@ -347,12 +347,6 @@ public class IWCInterfaceServiceImpl implements IWCSInterfaceService {
return R.fail("子母工单信息缺失");
}
/**修改sap物料损耗组成**/
R updateBomsSap = this.updateAttr1BomsSap(workOrders);
if(updateBomsSap.getCode()== 500){
return updateBomsSap;
}
R sapRson = null;
if(workOrders.size()==1){
/**(一层报工)工单报工**/
@ -440,32 +434,6 @@ public class IWCInterfaceServiceImpl implements IWCSInterfaceService {
}
return sapRson;
}
//修改报工物料组成
private R updateAttr1BomsSap(List<MesReportWork> workOrderCodes) {
//是否有变动的物料损耗组成
List<MesReportWorkConsume> updateBoms = mesReportWorkMapper.getUpdateAttr1Boms(workOrderCodes.get(workOrderCodes.size()-1));
if(!CollectionUtils.isEmpty(updateBoms)){
List<Map<String, Object>> mapList = new ArrayList<>();
Map<String, Object> mapBom = null;
for(MesReportWorkConsume updateBom:updateBoms){
mapBom = new HashMap<String, Object>();
mapBom.put("P_AUFNR",updateBom.getWorkorderCodeSap());// 订单号 例如000100308287
mapBom.put("P_MATNR",updateBom.getMaterialCode());// 物料号 例如000000040000015089
//mapBom.put("P_GMEIN",updateBom.getUnit());// 基本计量单位 例如m
mapBom.put("P_WERKS",workOrderCodes.get(0).getFactoryCode());//物料工厂 例如1000
mapBom.put("P_LGORT",updateBom.getWarehouseCode());//仓库编号 例如0013
mapList.add(mapBom);
}
logger.info(workOrderCodes.get(workOrderCodes.size()-1).getWorkorderCode()
+ "报工损耗物料组件修改请求:" + JSONObject.toJSONString(mapList));
R bomUpdateR = remoteSapService.shopOrderBomUpdate(mapList);
logger.info(workOrderCodes.get(workOrderCodes.size()-1).getWorkorderCode()
+ "报工损耗物料组件修改结果:" + JSONObject.toJSONString(bomUpdateR));
return bomUpdateR;
}
return R.ok();
}
/**
*

@ -4,13 +4,16 @@ import java.math.BigDecimal;
import java.util.*;
import java.util.stream.Collectors;
import com.alibaba.fastjson2.JSONObject;
import com.baomidou.dynamic.datasource.annotation.DS;
import com.op.common.core.domain.R;
import com.op.common.core.utils.DateUtils;
import com.op.common.core.utils.bean.BeanUtils;
import com.op.common.core.utils.uuid.IdUtils;
import com.op.common.security.utils.SecurityUtils;
import com.op.mes.domain.*;
import com.op.mes.mapper.MesReportWorkMapper;
import com.op.system.api.RemoteSapService;
import com.op.system.api.domain.dto.BaseBomDTO;
import com.op.system.api.domain.mes.BaseProductDTO;
import com.op.system.api.domain.mes.BaseTeamTDTO;
@ -21,6 +24,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.op.mes.mapper.MesReportWorkConsumeMapper;
import com.op.mes.service.IMesReportWorkConsumeService;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.CollectionUtils;
/**
@ -38,6 +42,9 @@ public class MesReportWorkConsumeServiceImpl implements IMesReportWorkConsumeSer
@Autowired
private MesReportWorkMapper mesReportWorkMapper;
@Autowired
private RemoteSapService remoteSapService;
/**
*
*
@ -163,7 +170,15 @@ public class MesReportWorkConsumeServiceImpl implements IMesReportWorkConsumeSer
@Override
@DS("#header.poolName")
@Transactional(rollbackFor = IllegalArgumentException.class)
public int submitConsumePS(List<MesReportWorkConsume> mesReportWorkConsumes) {
//根据belong_work_order找到sap工单(子子母)
List<MesReportWork> workOrders = mesReportWorkMapper.getSapWorkOrder(mesReportWorkConsumes.get(0).getParentOrder());
if (CollectionUtils.isEmpty(workOrders)) {
return 0;
}
Date nowTime = DateUtils.getNowDate();
String updateBy = SecurityUtils.getUsername();
for (MesReportWorkConsume mesReportWorkConsume : mesReportWorkConsumes) {
@ -172,17 +187,17 @@ public class MesReportWorkConsumeServiceImpl implements IMesReportWorkConsumeSer
}
List<MesReportWorkConsume> updates = mesReportWorkConsumes
.stream()
.filter(u -> u.getCreateTime()!=null).collect(Collectors.toList());
.filter(u -> u.getCreateTime() != null).collect(Collectors.toList());
List<MesReportWorkConsume> adds = mesReportWorkConsumes
.stream()
.filter(u -> u.getCreateTime()==null).collect(Collectors.toList());
if(!CollectionUtils.isEmpty(adds)){
Map<String,MesReportWorkConsume> consumeInfoMap = new HashMap<>();
for(MesReportWorkConsume add:adds){
.filter(u -> u.getCreateTime() == null).collect(Collectors.toList());
if (!CollectionUtils.isEmpty(adds)) {
Map<String, MesReportWorkConsume> consumeInfoMap = new HashMap<>();
for (MesReportWorkConsume add : adds) {
MesReportWorkConsume newConsumeInfo = consumeInfoMap.get(add.getWorkorderCode());
if(newConsumeInfo==null){
if (newConsumeInfo == null) {
MesReportWorkConsume mapItem = mesReportWorkConsumeMapper.getNewConsumeInfo(add.getWorkorderCode());
consumeInfoMap.put(add.getWorkorderCode(),mapItem);
consumeInfoMap.put(add.getWorkorderCode(), mapItem);
}
newConsumeInfo = consumeInfoMap.get(add.getWorkorderCode());
@ -194,12 +209,57 @@ public class MesReportWorkConsumeServiceImpl implements IMesReportWorkConsumeSer
add.setAttr1("1");//新增标识
add.setParentOrder(newConsumeInfo.getParentOrder());
}
int addNum =mesReportWorkConsumeMapper.addConsumePS(adds);
System.out.println("addNum:"+addNum);
int addNum = mesReportWorkConsumeMapper.addConsumePS(adds);
System.out.println("addNum:" + addNum);
}
int updateNum = mesReportWorkConsumeMapper.submitConsumePS(updates);
System.out.println("updateNum:" + updateNum);
/**修改sap物料损耗组成**/
R updateBomsSap = this.updateAttr1BomsSap(workOrders);
if(updateBomsSap.getCode()== 500){
throw new IllegalArgumentException("修改组件异常");
}
return 1;
}
//修改报工物料组成
private R updateAttr1BomsSap(List<MesReportWork> workOrderCodes) {
//是否有变动的物料损耗组成
MesReportWork workorder = workOrderCodes.get(workOrderCodes.size()-1);
if(workorder == null ){
logger.info(workorder.getWorkorderCode()
+ "报工损耗物料组件修改请求null");
return R.fail();
}
List<MesReportWorkConsume> updateBoms = mesReportWorkMapper.getUpdateAttr1Boms(workorder);
if(!CollectionUtils.isEmpty(updateBoms)){
List<Map<String, Object>> mapList = new ArrayList<>();
Map<String, Object> mapBom = null;
for(MesReportWorkConsume updateBom:updateBoms){
mapBom = new HashMap<String, Object>();
mapBom.put("P_AUFNR",updateBom.getWorkorderCodeSap());// 订单号 例如000100308287
mapBom.put("P_MATNR",updateBom.getMaterialCode());// 物料号 例如000000040000015089
//mapBom.put("P_GMEIN",updateBom.getUnit());// 基本计量单位 例如m
mapBom.put("P_WERKS",workOrderCodes.get(0).getFactoryCode());//物料工厂 例如1000
mapBom.put("P_LGORT",updateBom.getWarehouseCode());//仓库编号 例如0013
mapList.add(mapBom);
}
logger.info(workorder.getWorkorderCode()
+ "报工损耗物料组件修改请求:" + JSONObject.toJSONString(mapList));
R bomUpdateR = remoteSapService.shopOrderBomUpdate(mapList);
logger.info(workorder.getWorkorderCode()
+ "报工损耗物料组件修改结果:" + JSONObject.toJSONString(bomUpdateR));
if(bomUpdateR.getCode() == 200){
//attr2 0->1组件完成修改
int f = mesReportWorkMapper.updateAttr2(workorder);
logger.info("组件修改完成:"+f);
}
return bomUpdateR;
}
int updateNum =mesReportWorkConsumeMapper.submitConsumePS(updates);
System.out.println("addNum:"+updateNum);
return updateNum;
return R.ok();
}
@Override

@ -52,6 +52,7 @@
<if test="factoryCode != null and factoryCode != ''">and factory_code = #{factoryCode}</if>
<if test="recoil != null and recoil != ''">and recoil = #{recoil}</if>
and del_flag = '0'
and quantity != '.00'
</where>
</select>
@ -86,6 +87,12 @@
<if test="productGroupName != null and productGroupName != ''">
and bp.product_group_name like concat('%',#{productGroupName}, '%')
</if>
<if test="parentOrder != null and parentOrder != ''">
and bp.product_code not in(
select material_code from mes_report_work_consume
where workorder_code = #{parentOrder} or parent_order = #{parentOrder} and del_flag='0'
)
</if>
</select>
<select id="getTeamList" resultType="com.op.system.api.domain.mes.BaseTeamTDTO">
select Team_Code teamCode,
@ -105,12 +112,14 @@
pow.workorder_code_sap workorderCodeSap,
mrwc.attr1,
mrwc.warehouse_code warehouseCode,
mpd.quantity planQuantity
mpd.quantity planQuantity,
mrwc.parent_order parentOrder
from mes_report_work_consume mrwc
left join pro_order_workorder pow on mrwc.workorder_code = pow.workorder_code
left join mes_prepare_detail mpd on mpd.parent_work_order = pow.belong_work_order
and mpd.material_code = mrwc.material_code
where mrwc.del_flag = '0' and pow.del_flag = '0' and mpd.del_flag = '0'
and mpd.del_flag = '0'
where mrwc.del_flag = '0' and pow.del_flag = '0'
and mrwc.workorder_code = #{workorderCode}
order by mrwc.recoil,mrwc.attr1
</select>

@ -687,8 +687,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
pow.workorder_code_sap workorderCodeSap,
mrwc.warehouse_code warehouseCode
from mes_report_work_consume mrwc
left join pro_order_workorder pow on mrwc.workorder_code = pow.workorder_code
where mrwc.attr1 = '1' and mrwc.del_flag = '0'
left join pro_order_workorder pow on mrwc.workorder_code = pow.workorder_code
where mrwc.attr1 = '1' and mrwc.del_flag = '0' and mrwc.attr2 = '0'
and mrwc.parent_order = #{workorderCode}
</select>
@ -877,8 +877,13 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
upload_msg = null
where workorder_code = #{workorderCode} or parent_order = #{workorderCode}
</update>
<update id="updateAttr2">
update mes_report_work_consume
set attr2 = '1'
where parent_order = #{workorderCode} and attr1= '1'
</update>
<delete id="deleteMesReportWorkById" parameterType="String">
<delete id="deleteMesReportWorkById" parameterType="String">
update mes_report_work set del_flag = '1' where id = #{id}
</delete>

@ -80,5 +80,7 @@ public interface OpenMapper {
List<QcUserMaterialDTO> getCheckUsers(String checkType);
public int addCheckUsers(@Param("list") List<QcUserMaterialDTO> users);
String getSampNum(QcCheckTaskProduceDTO sampQua);
}

@ -372,24 +372,33 @@ public class OpenServiceImpl implements OpenService {
int m = openMapper.addCheckUsers(users);
logger.info(qcCheckTaskProduce.getOrderNo()+":检查人新增" + m + "成功");
/**qc_check_type_project**/
/**qc_check_type_project**///个性
List<QcCheckTaskDetailDTO> items = openMapper.getTPByTypeMaterial(qctp);
if (CollectionUtils.isEmpty(items)) {
/**qc_material_group_detail**/
QcMaterialGroupDetailDTO group = openMapper.getGroupByMaterial(qcCheckTaskProduce.getMaterialCode());
if (group == null) {
logger.info(qcCheckTaskProduce.getOrderNo()+":"+qcCheckTaskProduce.getMaterialCode()+"没有维护物料组检测项,检验任务生成失败");
return 0;//没有找到检测项目
}
qctp.setGroupId(group.getGroupId());//共性
items = openMapper.getTPByTypeGroup(qctp);
/**qc_material_group_detail**/
QcMaterialGroupDetailDTO group = openMapper.getGroupByMaterial(qcCheckTaskProduce.getMaterialCode());
if (group == null) {
group = new QcMaterialGroupDetailDTO();
group.setGroupId("3dc0655fea3449c59c76a01cc5b91565");
}
qctp.setGroupId(group.getGroupId());//共性
List<QcCheckTaskDetailDTO> itemsGG = openMapper.getTPByTypeGroup(qctp);
items.addAll(itemsGG);
/**qc_check_task_detail**/
if (CollectionUtils.isEmpty(items)) {
return 0;//没有找到检测项目
}
/**qc_sample_rule**/
QcCheckTaskProduceDTO sampQua = new QcCheckTaskProduceDTO();
sampQua.setCheckType(qcCheckTaskProduce.getCheckType());
sampQua.setQuality(qcCheckTaskProduce.getQuality());
String sampNum = openMapper.getSampNum(sampQua);
if(StringUtils.isNotBlank(sampNum)){
qcCheckTaskProduce.setSampleQuality(new BigDecimal(sampNum));
}
/**qc_check_task**/
qcCheckTaskProduce.setRecordId(beLongId);
qcCheckTaskProduce.setFactoryCode(factoryCode);

@ -199,8 +199,14 @@
select qum.user_code userCode,
qum.user_name userName
from qc_user_material qum
where qum.material_code = #{checkType} and pow.del_flag = '0' and qum.del_flag = '0'
where qum.material_code = #{checkType} and qum.del_flag = '0'
</select>
<select id="getSampNum" resultType="java.lang.String">
select sample_quality
from qc_sample_rule
where end_value>= #{quality} and #{quality}>=start_value and del_flag = '0'
and check_type = #{checkType}
</select>
<insert id="insertEquRepairOrder" parameterType="DeviceRepairOrder">
insert into equ_repair_order

@ -292,7 +292,6 @@ public class ProOrderController extends BaseController {
return proOrderService.syncSAPOrders();
}
/**
* workorderIds
*
*
*/

@ -197,5 +197,9 @@ public interface ProOrderWorkorderMapper {
List<ProOrderWorkorder> getOrderByOrders(@Param("orderIds") String[] orderIds);
List<String> checkBatchCodes(@Param("batchs") List<Batch> formFields);
List<ProOrderWorkorder> getUnSplitOrder(@Param("orderIds") String[] orderIds);
ProOrderWorkorder selectSonOrder(String parentOrder);
}

@ -1093,20 +1093,41 @@ public class ProOrderServiceImpl implements IProOrderService {
@DS("#header.poolName")
@Transactional(rollbackFor = Exception.class)
public int deleteOrder(String[] orderIds) {
//只准一个个的删
//未拆分,直接关闭订单
List<ProOrderWorkorder> checkOrders = proOrderWorkorderMapper.getOrderByOrders(orderIds);
if(!CollectionUtils.isEmpty(checkOrders)){
int m0 = proOrderMapper.deleteProOrderByIds(orderIds);
logger.info(orderIds[0]+"删除订单m0:"+m0);
return 1;
if(checkOrders.get(0).equals("o0")){
//未拆分,直接关闭订单
List<String> allOrderIds = new ArrayList<>();
for(ProOrderWorkorder order:checkOrders){
String topOrderCode = order.getOrderCode();
allOrderIds.add(order.getOrderId());
Boolean run = true;
while (run) {
//下级
ProOrderWorkorder sonOrder = proOrderWorkorderMapper.selectSonOrder(topOrderCode);
//有下级code
if (sonOrder != null) {
allOrderIds.add(sonOrder.getOrderId());
topOrderCode = sonOrder.getOrderCode();
} else {
run = false;
}
}
}
int m0 = proOrderMapper.deleteProOrderByIds(allOrderIds.toArray(new String[allOrderIds.size()]));
logger.info(orderIds[0]+"删除订单m0:"+m0);
return 1;
}
}
//已经存在工单可以进行订单关闭的数据
//完全拆分已经存在工单可以进行订单关闭的数据
List<ProOrderWorkorder> checkWorkOrders = proOrderWorkorderMapper.getWorkOrderByOrders(orderIds);
if(checkWorkOrders.size() != orderIds.length){
return 2;
}
for(ProOrderWorkorder workorder:checkWorkOrders){
//要删除的工单id们
List<String> delteIds = new ArrayList<>();
@ -1178,7 +1199,7 @@ public class ProOrderServiceImpl implements IProOrderService {
if(!CollectionUtils.isEmpty(repeatBatchCodes)){
return StringUtils.join(repeatBatchCodes, ",");
}
return "";
return "";
}
public static void main(String args[]){

@ -535,22 +535,42 @@
and pow.del_flag = '0'
</select>
<select id="getOrderByOrders" resultType="com.op.plan.domain.ProOrderWorkorder">
select status,id
select status,id orderId,order_code orderCode
from pro_order
where id in
<foreach item="orderId" collection="orderIds" open="(" separator="," close=")">
#{orderId}
</foreach>
and status in ('o1','o0') and del_flag = '0'
and del_flag = '0'
</select>
<select id="checkBatchCodes" resultType="java.lang.String">
select distinct batch_code
from pro_order_workorder_batch
where del_flag='1' and batch_code in
where del_flag='0' and batch_code in
<foreach item="batch" collection="batchs" open="(" separator="," close=")">
#{batch.batchCode}
</foreach>
</select>
<select id="getUnSplitOrder" resultType="com.op.plan.domain.ProOrderWorkorder">
select
order_code orderCode,
id orderId
from pro_order po
where po.id in
<foreach item="orderId" collection="orderIds" open="(" separator="," close=")">
#{orderId}
</foreach>
and po.status in ('o0')
and po.del_flag = '0'
</select>
<select id="selectSonOrder" resultType="com.op.plan.domain.ProOrderWorkorder">
select order_code orderCode,
id orderId,
parent_order parentOrder
from pro_order po
where po.parent_order = #{parentOrder}
and po.del_flag = '0'
</select>
<insert id="createPrepareDetails">
insert into mes_prepare_detail

@ -12,6 +12,7 @@ import java.util.stream.Collectors;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.alibaba.fastjson2.JSONArray;
import com.alibaba.fastjson2.JSONObject;
import com.baomidou.dynamic.datasource.annotation.DS;
import com.baomidou.dynamic.datasource.toolkit.DynamicDataSourceContextHolder;
@ -181,49 +182,49 @@ public class QcCheckTaskIncomeController extends BaseController {
}
public AjaxResult createIncomeBatchTaskFunc(String poolName){
try {
DynamicDataSourceContextHolder.push(poolName);// 这是数据源的key
Date taskTime = DateUtils.getNowDate();
logger.info("++++++++++++" + poolName + "工厂来料检验批量创建任务开始+++时间:"+ taskTime +"++++++++++");
Map<String, Object> mapBom = new HashMap<String, Object>();
mapBom.put("P_WERKS",poolName.replace("ds_",""));//物料工厂 例如1000
logger.info("来料信息查询请求:" + JSONObject.toJSONString(mapBom));
R incomeR = remoteSapService.inComingCheck(mapBom);
if(incomeR.getCode()==500){
logger.info("来料信息查询请求:" + JSONObject.toJSONString(incomeR));
return AjaxResult.error(JSONObject.toJSONString(incomeR));
}
logger.info("来料信息查询结果:" + JSONObject.toJSONString(incomeR));
List<QcCheckTaskIncomeDTO> incomeAll = (List<QcCheckTaskIncomeDTO>)incomeR.getData();
//已经生成过检验任务的采购订单
List<String> todayIncomeLists = qcCheckTaskIncomeService.getTodayIncomeLists();
List<QcCheckTaskIncomeDTO> newIncomes = incomeAll.stream()
DynamicDataSourceContextHolder.push(poolName);// 这是数据源的key
Date taskTime = DateUtils.getNowDate();
logger.info("++++++++++++" + poolName + "工厂来料检验批量创建任务开始+++时间:"+ taskTime +"++++++++++");
Map<String, Object> mapBom = new HashMap<String, Object>();
mapBom.put("P_WERKS",poolName.replace("ds_",""));//物料工厂 例如1000
logger.info("来料信息查询请求:" + JSONObject.toJSONString(mapBom));
R incomeR = remoteSapService.inComingCheck(mapBom);
if(incomeR.getCode()==500){
logger.info("来料信息查询请求:" + JSONObject.toJSONString(incomeR));
return AjaxResult.error(JSONObject.toJSONString(incomeR));
}
logger.info("来料信息查询结果:" + JSONObject.toJSONString(incomeR));
List<QcCheckTaskIncomeDTO> incomeAll = JSONArray.parseArray(JSONObject.toJSONString(incomeR.getData()),QcCheckTaskIncomeDTO.class);
//已经生成过检验任务的采购订单
List<String> todayIncomeLists = qcCheckTaskIncomeService.getTodayIncomeLists();
List<QcCheckTaskIncomeDTO> newIncomes= null;
if(CollectionUtils.isEmpty(todayIncomeLists)){
newIncomes = incomeAll;
}else{
newIncomes = incomeAll.stream()
.filter(item -> !todayIncomeLists.contains(item.getOrderNo()))
.collect(Collectors.toList());
}
int successNum = 0;//成功任务数
int failNum = 0;//失败任务数
if(!CollectionUtils.isEmpty(newIncomes)){
logger.info("工厂来料检验任务生成参数:" + JSONObject.toJSONString(newIncomes));
for(QcCheckTaskIncomeDTO income:newIncomes){
AjaxResult ajaxResult = createIncomeTask(income);
if(ajaxResult.isSuccess()){
successNum = successNum + 1;
logger.info(poolName + "工厂的" + income.getCheckNo()+"来料检验创建任务成功++++++++++");
}else if(ajaxResult.isError()){
failNum = failNum +1;
logger.info(poolName + "工厂的" + income.getCheckNo()+"来料检验创建任务失败++++++++++");
}
int successNum = 0;//成功任务数
int failNum = 0;//失败任务数
if(!CollectionUtils.isEmpty(newIncomes)){
logger.info("工厂来料检验任务生成参数:" + JSONObject.toJSONString(newIncomes));
for(QcCheckTaskIncomeDTO income:newIncomes){
AjaxResult ajaxResult = createIncomeTask(income);
if(ajaxResult.isSuccess()){
successNum = successNum + 1;
logger.info(poolName + "工厂的" + income.getCheckNo()+"来料检验创建任务成功++++++++++");
}else if(ajaxResult.isError()){
failNum = failNum +1;
logger.info(poolName + "工厂的" + income.getCheckNo()+"来料检验创建任务失败++++++++++");
}
}else{
logger.info("++++++++++++" + poolName + "工厂来料检验没有可创建的任务++++++++++");
}
logger.info("++++++++++++" + poolName + "工厂来料检验批量创建任务结束:成功"+ successNum +"失败"+ failNum +"+++++");
return success();
} catch (Exception e) {
logger.info("++++++++++++" + poolName + "工厂来料检验批量创建任务失败++++++++++");
return error("++++++++++++" + poolName + "工厂来料检验批量创建任务失败++++++++++");
}else{
logger.info("++++++++++++" + poolName + "工厂来料检验没有可创建的任务++++++++++");
}
logger.info("++++++++++++" + poolName + "工厂来料检验批量创建任务结束:成功"+ successNum +"失败"+ failNum +"+++++");
return success();
}
@PostMapping("/createIncomeTask")

@ -150,22 +150,17 @@ public class QcCheckTaskIncomeServiceImpl implements IQcCheckTaskIncomeService {
QcCheckTypeProject qctp= new QcCheckTypeProject();
qctp.setTypeId(qcCheckTaskIncome.getCheckType());//生产过程检验
qctp.setMaterialCode(qcCheckTaskIncome.getMaterialCode());//特性
/**qc_check_type_project**/
/**qc_check_type_project**///个性
List<QcCheckTaskDetail> items = qcCheckTypeProjectMapper.getTPByTypeMaterial(qctp);
/**qc_material_group_detail**/
//个性
QcMaterialGroupDetail group = qcMaterialGroupDetailMapper.getGroupByMaterial(qcCheckTaskIncome.getMaterialCode());
// if(group == null){
// return 0;//没有找到检测项目
// }
if(Objects.isNull(group)){
return 0;//没有找到检测项目
}
//共性
if(group == null){//默认
group = new QcMaterialGroupDetail();
group.setGroupId("729971295b734782b544f9d6d06fb8b9");
}
qctp.setGroupId(group.getGroupId());
List<QcCheckTaskDetail> itemsGG = qcCheckTypeProjectMapper.getTPByTypeGroup(qctp);
items.addAll(itemsGG);
/**qc_check_task_detail**/

@ -27,6 +27,7 @@ import com.op.quality.service.IQcCheckTaskUserService;
import com.op.system.api.RemoteUserService;
import com.op.system.api.domain.SysUser;
import com.op.system.api.domain.mes.ProOrderWorkorderDTO;
import com.op.system.api.domain.quality.QcMaterialGroupDetailDTO;
import com.op.system.api.domain.quality.QcUserMaterialDTO;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@ -158,17 +159,18 @@ public class QcCheckTaskProduceServiceImpl implements IQcCheckTaskProduceService
QcCheckTypeProject qctp= new QcCheckTypeProject();
qctp.setTypeId(qcCheckTaskProduce.getCheckType());//生产过程检验
qctp.setMaterialCode(qcCheckTaskProduce.getMaterialCode());//特性
/**qc_check_type_project**/
/**qc_check_type_project**///个性
List<QcCheckTaskDetail> items = qcCheckTypeProjectMapper.getTPByTypeMaterial(qctp);
if(CollectionUtils.isEmpty(items)){
/**qc_material_group_detail**/
QcMaterialGroupDetail group = qcMaterialGroupDetailMapper.getGroupByMaterial(qcCheckTaskProduce.getMaterialCode());
if(group == null){
return 0;//没有找到检测项目
}
qctp.setGroupId(group.getGroupId());//共性
items = qcCheckTypeProjectMapper.getTPByTypeGroup(qctp);
/**qc_material_group_detail**/
QcMaterialGroupDetail group = qcMaterialGroupDetailMapper.getGroupByMaterial(qcCheckTaskProduce.getMaterialCode());
if(group == null){
group = new QcMaterialGroupDetail();
group.setGroupId("3dc0655fea3449c59c76a01cc5b91565");
}
qctp.setGroupId(group.getGroupId());//共性
List<QcCheckTaskDetail> itemsGG = qcCheckTypeProjectMapper.getTPByTypeGroup(qctp);
items.addAll(itemsGG);
/**qc_check_task_detail**/
if(CollectionUtils.isEmpty(items)){

@ -277,4 +277,13 @@ public class BaseEquipmentController extends BaseController {
List<BaseEquipment> list = baseEquipmentService.selectBYRecordsList(baseEquipment);
return getDataTable(list);
}
/**
* ()
*/
@GetMapping("/getEquipmentTypeDeptList")
public TableDataInfo getEquipmentTypeDeptList(BaseEquipment baseEquipment) {
List<BaseEquipment> list = baseEquipmentService.getEquipmentTypeDeptList(baseEquipment);
return getDataTable(list);
}
}

@ -68,6 +68,34 @@ public class WmsProductPutTrayCode extends BaseEntity {
this.siteCode = siteCode;
}
/**
*
*/
@Excel(name = "产品名称")
private String productName;
/**
*
*/
@Excel(name = "产品编码")
private String productCode;
public String getProductName() {
return productName;
}
public void setProductName(String productName) {
this.productName = productName;
}
public String getProductCode() {
return productCode;
}
public void setProductCode(String productCode) {
this.productCode = productCode;
}
/**
* 1
*/

@ -135,4 +135,7 @@ public interface BaseEquipmentMapper {
//查询辅助设备
List<BaseEquipment> selectEquipmentListByCategory(BaseEquipment baseEquipment);
//查询设备类型(维护在字典中的)
List<BaseEquipment> getEquipmentTypeDeptList(BaseEquipment baseEquipment);
}

@ -93,4 +93,6 @@ public interface IBaseEquipmentService {
//辅助设备列表
List<BaseEquipment> selectEquipmentListByCategory(BaseEquipment baseEquipment);
List<BaseEquipment> getEquipmentTypeDeptList(BaseEquipment baseEquipment);
}

@ -616,4 +616,13 @@ public class BaseEquipmentServiceImpl implements IBaseEquipmentService {
public List<BaseEquipment> selectBYRecordsList(BaseEquipment baseEquipment) {
return baseEquipmentMapper.selectBYRecordsList(baseEquipment);
}
/**
*
*/
@Override
@DS("master")
public List<BaseEquipment> getEquipmentTypeDeptList(BaseEquipment baseEquipment) {
return baseEquipmentMapper.getEquipmentTypeDeptList(baseEquipment);
}
}

@ -685,7 +685,7 @@ public class WmsProductPutServiceImpl implements IWmsProductPutService {
//成品销售出库--确认接口---修改出库单,--出库库存
WmsSellOutEmbryo wmsSellOutEmbryo1 = wmsSellOutEmbryoMapper.selectWmsSellOutEmbryoById(wmsSellOutEmbryo.getId());
Integer tem= wmsProductPutTrayCodeList.size();
BigDecimal OutQuantity= wmsSellOutEmbryo1.getOutQuantity().add(new BigDecimal(tem));
BigDecimal OutQuantity= wmsSellOutEmbryo1.getOutQuantity().add(new BigDecimal(tem));//2
int result = wmsSellOutEmbryo1.getPlanQuantity().compareTo(OutQuantity);
WmsSellOutEmbryo wmsSellOutEmbryoUpdate=new WmsSellOutEmbryo();
if (result == 0){//出库完
@ -695,7 +695,7 @@ public class WmsProductPutServiceImpl implements IWmsProductPutService {
}
wmsSellOutEmbryoUpdate.setId(wmsSellOutEmbryo.getId());
wmsSellOutEmbryoUpdate.setOutQuantity(OutQuantity);
wmsSellOutEmbryoMapper.updateWmsSellOutEmbryo(wmsSellOutEmbryo);
wmsSellOutEmbryoMapper.updateWmsSellOutEmbryo(wmsSellOutEmbryoUpdate);
//订单修改完成
for(WmsProductPutTrayCode wmsProductPutTrayCode: wmsProductPutTrayCodeList){//库存修改
//解除绑定
@ -745,6 +745,8 @@ public class WmsProductPutServiceImpl implements IWmsProductPutService {
for (WmsProductPutTrayCode wmsProductPutTrayCode1:
wmsProductPutTrayCodeList) {
wmsProductPutTrayCode1.setWlCode(wmsFpStorageNewsSn1.getWlCode());
wmsProductPutTrayCode1.setProductCode(wmsFpStorageNewsSn1.getProductCode());
wmsProductPutTrayCode1.setProductName(wmsFpStorageNewsSn1.getProductName());
}
}
@ -769,6 +771,8 @@ public class WmsProductPutServiceImpl implements IWmsProductPutService {
if(wmsFpStorageNewsSns.size()>0){
WmsFpStorageNewsSn wmsFpStorageNewsSn1= wmsFpStorageNewsSns.get(0);
wmsProductPutTrayCode.setWlCode( wmsFpStorageNewsSn1.getWlCode());//库位
wmsProductPutTrayCode.setProductCode(wmsFpStorageNewsSn1.getProductCode());
wmsProductPutTrayCode.setProductName(wmsFpStorageNewsSn1.getProductName());
return wmsProductPutTrayCode;
}
}
@ -783,5 +787,4 @@ public class WmsProductPutServiceImpl implements IWmsProductPutService {
List<WmsSellOutEmbryo> wmsSellOutEmbryoList= wmsSellOutEmbryoMapper.selectWmsSellOutEmbryoList(wmsSellOutEmbryo);
return wmsSellOutEmbryoList;
}
}

@ -710,4 +710,13 @@
and plan_type = 'maintenance'
</select>
<select id="getEquipmentTypeDeptList" parameterType="BaseEquipment" resultType="com.op.wms.domain.BaseEquipment">
select
dict_label as equipmentTypeName,
dict_value as equipmentTypeCode
from sys_dict_data
where dict_type = 'equ_type'
and status ='0'
</select>
</mapper>

Loading…
Cancel
Save