问题修复

master
zhaoxiaolin 4 months ago
parent 85bec1c62d
commit 7a80d9dc30

@ -1,17 +1,22 @@
package com.op.plan.controller;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import javax.servlet.ServletOutputStream;
import javax.servlet.http.HttpServletResponse;
import com.alibaba.fastjson2.JSONObject;
import com.op.common.core.domain.ExcelCol;
import com.op.common.core.exception.ServiceException;
import com.op.common.core.utils.poi.ExcelMapUtil;
import com.op.plan.domain.ProLine;
import com.op.plan.domain.ProOrder;
import com.op.plan.domain.ProOrderWorkorderBatch;
import com.op.plan.domain.dto.SplitOrderDTO;
import com.op.plan.service.IProWetMaterialPlanDetailService;
import com.op.plan.service.IProWetMaterialPlanService;
import org.apache.poi.xssf.streaming.SXSSFWorkbook;
import org.aspectj.weaver.loadtime.Aj;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.util.CollectionUtils;
@ -167,6 +172,45 @@ public class ProOrderWorkorderController extends BaseController {
util.exportExcel(response, list, "生产工单数据");
}
@RequiresPermissions("mes:pro:workorder:powExport")
@Log(title = "排查计划导出", businessType = BusinessType.EXPORT)
@PostMapping("/powExport")
public void powExport(HttpServletResponse response, ProOrderWorkorder proOrderWorkorder) {
List<HashMap> list = proOrderWorkorderService.getPowExportData(proOrderWorkorder);
String titleRow1 = "生产排产单";
//表格结构数据
ArrayList<ExcelCol> excelCols = new ArrayList<>();
excelCols.add(new ExcelCol("序号", "xh", 10));
excelCols.add(new ExcelCol("原订单编码", "orderCode", 25));
excelCols.add(new ExcelCol("订单编码", "workorderSap", 25));
excelCols.add(new ExcelCol("物料编码", "materialCode", 25));
excelCols.add(new ExcelCol("物料描述", "materialDesc", 25));
excelCols.add(new ExcelCol("数量", "quality", 20));
excelCols.add(new ExcelCol("批号1", "batch1", 35));
excelCols.add(new ExcelCol("批号2", "batch2", 35));
excelCols.add(new ExcelCol("批号3", "batch3", 35));
excelCols.add(new ExcelCol("批号4", "batch4", 35));
String titleName = "生产排产信息";
SXSSFWorkbook workbook = null;
try {
//设置响应头
response.setHeader("Content-disposition",
"attachment; filename=" + titleName);
response.setContentType("application/octet-stream;charset=UTF-8");
ServletOutputStream outputStream = response.getOutputStream();
//调用工具类
workbook = ExcelMapUtil.initWorkbook(titleName, titleRow1, excelCols, list);
workbook.write(outputStream);
} catch (Exception e) {
e.printStackTrace();
} finally {
if (workbook != null) {
workbook.dispose();
}
}
}
/**
*
*/

@ -256,5 +256,7 @@ public interface ProOrderWorkorderMapper {
void clearMPDetail(List<String> wcodes);
List<ProOrderWorkorder> getWorkList(String workorderCode);
List<String> getBatchList(String workorderId);
}

@ -7,6 +7,7 @@ import com.op.plan.domain.ProOrderWorkorder;
import com.op.plan.domain.ProOrderWorkorderBatch;
import com.op.plan.domain.dto.SplitOrderDTO;
import java.util.HashMap;
import java.util.List;
/**
@ -157,4 +158,6 @@ public interface IProOrderWorkorderService {
List<ProOrderWorkorder> getIdCardListRefresh(ProOrderWorkorder proOrderWorkorder);
int updateWorkOrderBom(String workorderCode);
List<HashMap> getPowExportData(ProOrderWorkorder proOrderWorkorder);
}

@ -5,6 +5,7 @@ import com.alibaba.fastjson2.JSONObject;
import com.baomidou.dynamic.datasource.annotation.DS;
import com.baomidou.dynamic.datasource.toolkit.DynamicDataSourceContextHolder;
import com.op.common.core.context.SecurityContextHolder;
import com.op.common.core.domain.ExcelCol;
import com.op.common.core.domain.R;
import com.op.common.core.exception.ServiceException;
import com.op.common.core.utils.DateUtils;
@ -1481,6 +1482,37 @@ public class ProOrderWorkorderServiceImpl implements IProOrderWorkorderService {
return 1;
}
@Override
@DS("#header.poolName")
public List<HashMap> getPowExportData(ProOrderWorkorder proOrderWorkorder) {
List<HashMap> mapDatas = new ArrayList<>();
List<ProOrderWorkorder> workorderList = proOrderWorkorderMapper.getLevelWorkOrderList(proOrderWorkorder);
if(CollectionUtils.isEmpty(workorderList)){
return null;
}
List<String> keys = Arrays.asList("batch1", "batch2", "batch3", "batch4");
HashMap mapData = null;
int xh=1;
for(ProOrderWorkorder data:workorderList){
mapData = new HashMap();
mapData.put("xh", xh);
mapData.put("orderCode",data.getOrderCode().substring(4));
mapData.put("workorderSap", data.getWorkorderCodeSap().substring(4));
mapData.put("materialCode", data.getProductCode().substring(7));
mapData.put("materialDesc", data.getProductName());
mapData.put("quality", data.getQuantitySplit());
List<String> batchList = proOrderWorkorderMapper.getBatchList(data.getWorkorderId());
for(int m=0;m<batchList.size();m++){
mapData.put(keys.get(m), batchList.get(m));
}
mapDatas.add(mapData);
xh++;
}
return mapDatas;
}
/**
*
* 湿

@ -897,6 +897,12 @@
where belong_work_order = #{workorderCode} and del_flag = '0'
order by workorder_code_sap desc
</select>
<select id="getBatchList" resultType="java.lang.String">
select batch_code
from pro_order_workorder_batch powb
where powb.del_flag = '0' and workorder_id = '127e2fd8c21d492297f3316a3879a43b'
order by batch_code
</select>
<insert id="addBatchPallet">
INSERT INTO pro_order_workorder_batch_pallet (

@ -39,9 +39,10 @@ public class QcCheckReportIncome extends BaseEntity {
/**
*
*/
@Excel(name = "单号")
@Excel(name = "单号")
private String orderNo;
@Excel(name = "订单号")
private String workorderCodeSap;
/**
*
*/
@ -193,6 +194,14 @@ public class QcCheckReportIncome extends BaseEntity {
private String cxzz;
private String pgy;
public String getWorkorderCodeSap() {
return workorderCodeSap;
}
public void setWorkorderCodeSap(String workorderCodeSap) {
this.workorderCodeSap = workorderCodeSap;
}
public String getFileNo() {
return fileNo;
}

@ -43,6 +43,8 @@
<result property="jgy" column="jgy"/>
<result property="pgy" column="pgy"/>
<result property="cxzz" column="cxzz"/>
<result property="workorderCodeSap" column="workorder_code_sap"/>
</resultMap>
<sql id="selectQcCheckReportIncomeVo">
@ -60,9 +62,10 @@
qct.supplier_code, qct.supplier_name, qct.income_time, qct.check_loc, qct.check_status,
qct.check_man_code, qct.check_man_name,qct.check_time, qct.check_result, qct.status,qct.sample_quality,
qct.create_by,qct.create_time, qct.update_by, qct.update_time,qct.check_type,
q.type_code,q.check_name
q.type_code,q.check_name,pow.workorder_code_sap
from qc_check_task qct
left join qc_check_type q on q.id = qct.check_type
left join pro_order_workorder pow on pow.workorder_code = qct.order_no
<where>
<if test="checkNo != null and checkNo != ''">and qct.check_no = #{checkNo}</if>
<if test="incomeBatchNo != null and incomeBatchNo != ''">and qct.income_batch_no = #{incomeBatchNo}</if>

@ -87,6 +87,8 @@
<result property="confirmManName" column="confirm_man_name"/>
<result property="confirmRemark" column="confirm_remark"/>
<result property="shiftId" column="shift_id"/>
<result property="workorderCodeSap" column="workorder_code_sap"/>
</resultMap>
<sql id="selectQcCheckTaskProduceVo">
@ -349,7 +351,7 @@
</select>
<select id="selectQcCheckReportIncomeList" parameterType="QcCheckReportIncome"
resultMap="QcCheckReportIncomeResult">
select t.*,pow.shift_id from (
select t.*,pow.shift_id,pow.workorder_code_sap from (
select qct.record_id, qct.check_no, qct.income_batch_no,
qct.order_no, qct.material_code, qct.material_name, qct.quality, qct.unit,
qct.supplier_code, qct.supplier_name, qct.income_time, qct.check_loc, qct.check_status,

@ -936,7 +936,7 @@
from qc_product_cpk_upDown qpcu
left join lanju_op_cloud.dbo.sys_dict_data sdd on sdd.dict_type = 'qms_category'
and sdd.dict_value = qpcu.material_code
where qpcu.del_flag = '0' and qpcu.material_code = #{cpkType}
where qpcu.del_flag = '0' and qpcu.material_code = #{cpkType} and qpcu.rule_code = #{projectId}
</select>
<select id="getProdLineList" resultType="com.op.system.api.domain.mes.ProLineDTO">
select equipment_code lineCode,equipment_name lineName from base_equipment

Loading…
Cancel
Save