廖井涛
2025-03-28 1f97acdb370414caa5303563f6c653a70a0e542b
Merge branch 'master' of http://bore.pub:10439/r/ERP_override
12个文件已修改
253 ■■■■ 已修改文件
north-glass-erp/northglass-erp/src/components/sd/order/OrderNumberReportTransfer.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/stores/sd/companySet/天津北玻.js 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/stores/sd/companySet/常州吉利.js 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/stores/sd/companySet/新疆恒鑫.js 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/stores/sd/companySet/金华天成.js 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/views/pp/reportingWorks/AddReportingWork.vue 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/views/sd/order/SelectOrder.vue 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/src/main/java/com/example/erp/entity/sd/Order.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/src/main/java/com/example/erp/mapper/pp/ReworkMapper.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/src/main/java/com/example/erp/service/pp/ReportingWorkService.java 108 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/src/main/resources/mapper/pp/ReportingWork.xml 96 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/src/main/resources/mapper/sd/OrderMapper.xml 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/components/sd/order/OrderNumberReportTransfer.vue
@@ -12,7 +12,7 @@
const orderNumberTransferSubmit = () => {
  request.post('/reportingWork/reportingWorkTransfer',props.transferData).then(res => {
    if(res.code === '200' && res.data.data===true){
      ElMessage.success(t('basicData.saveSuccess'))
      ElMessage.success(t('basicData.msg.saveSuccess'))
      emits('orderNumberTransfer')
    }else{
      ElMessage.warning(res.data.msg)
north-glass-erp/northglass-erp/src/stores/sd/companySet/Ìì½ò±±²£.js
@@ -3,6 +3,7 @@
export default defineStore('companyInfo', {
    state: () => ({
        timeOut:false,//金华true,其他false,是否开启超时改变复选框状态
        connectMes:false,//常州true,其他false,显示订单报工转移是否启用
        companyName: '天津北玻玻璃工业技术有限公司(TJBB-QR7.1-01)',
        address:'天津宝坻区节能环保工业区天兴路西侧宝中道南侧',
north-glass-erp/northglass-erp/src/stores/sd/companySet/³£ÖݼªÀû.js
@@ -3,6 +3,7 @@
export default defineStore('companyInfo', {
    state: () => ({
        timeOut:false,//金华true,其他false,是否开启超时改变复选框状态
        connectMes:true,//常州true,其他false,显示订单报工转移是否启用
        companyName: '常州市吉利玻璃有限公司',
        address:'常州市天宁区郑陆镇大明南路8号',
north-glass-erp/northglass-erp/src/stores/sd/companySet/н®ºãöÎ.js
@@ -3,6 +3,7 @@
export default defineStore('companyInfo', {
    state: () => ({
        timeOut:false,//金华true,其他false,是否开启超时改变复选框状态
        connectMes:false,//常州true,其他false,显示订单报工转移是否启用
        companyName: '新疆恒鑫玻璃科技有限公司',
        address:'新疆五家渠工业园兵团新型建材工业园区工一路11号附1号',
north-glass-erp/northglass-erp/src/stores/sd/companySet/½ð»ªÌì³É.js
@@ -3,6 +3,7 @@
export default defineStore('companyInfo', {
    state: () => ({
        timeOut:true,//金华true,其他false,是否开启超时改变复选框状态
        connectMes:false,//常州true,其他false,显示订单报工转移是否启用
        companyName: '金华福喜天成玻璃有限公司',
        address:'浙江省金华市金东区曹宅镇工业功能区鹤岩街28号2号',
north-glass-erp/northglass-erp/src/views/pp/reportingWorks/AddReportingWork.vue
@@ -339,6 +339,13 @@
    },
    {field: 'completed', width: 90, title:t('reportingWorks.completed'),},
    {field: 'onceBroken', width: 90, title: t('reportingWorks.onceBroken'),},
    {
      field: 'reviewed_state',
      title: t('processCard.reviewedState'),
      filters: [{data: ''}],
      slots: {filter: 'num1_filter'},
      filterMethod: filterChanged
    },
  ],
//表单验证
@@ -1150,7 +1157,20 @@
      //绑定下方表格
      detail.value = res.data.Detail
      xGrid.value.reloadData(detail.value)
      // ä½¿ç”¨map方法来处理每个对象
      let modifiedCollection = detail.value.map(item => {
        if (item.reviewed_state === 1) {
          return { ...item, reviewed_state: "已审核" };
        }
        else if (item.reviewed_state === 0) {
          return { ...item, reviewed_state: "未审核" };
        }
        else {
          // å…¶ä»–情况保持不变
          return item;
        }
      });
      xGrid.value.reloadData(modifiedCollection)
    } else {
      ElMessage.warning(res.msg)
    }
north-glass-erp/northglass-erp/src/views/sd/order/SelectOrder.vue
@@ -598,6 +598,12 @@
  }
}
//订单距离小于三天则改变checkbox class æ”¹å˜é¢œè‰²
const timeOutChangeColor =(row)=>{
  if(company.timeOut){
    return row.timeOut
  }
}
</script>
@@ -643,12 +649,14 @@
        <template #state="{ row,column}">
          <el-checkbox
              :class="timeOutChangeColor(row)"
              v-if="row[column.field] === 2"
              @click.native.prevent
              :indeterminate="row[column.field]===1"
              :checked="true"/>
          <el-checkbox
              v-else
              :class="timeOutChangeColor(row)"
              @click.native.prevent
              :indeterminate="row[column.field]===1"
              :checked="false"/>
@@ -794,7 +802,10 @@
  height: 100%;
}
:deep(.timeOut.is-checked .el-checkbox__inner) {
  background-color: orangered;
  border-color: orangered;
}
</style>
north-glass-erp/src/main/java/com/example/erp/entity/sd/Order.java
@@ -101,6 +101,8 @@
    private LocalDate updateTime;
    @TableField(select = false,exist = false)
    private Integer goodsQuantity;
    @TableField(select = false,exist = false)
    private String timeOut;
    @TableField(value = "customer_id")
    private Customer  customer;
north-glass-erp/src/main/java/com/example/erp/mapper/pp/ReworkMapper.java
@@ -1,5 +1,6 @@
package com.example.erp.mapper.pp;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.example.erp.dto.pp.ReworkDTO;
import com.example.erp.entity.mm.FinishedGoodsInventory;
import com.example.erp.entity.pp.FlowCard;
@@ -12,7 +13,7 @@
import java.util.Map;
@Mapper
public interface ReworkMapper {
public interface ReworkMapper extends BaseMapper<Rework> {
    List<ReworkDTO> SelectRework(@Param("offset") Integer offset, @Param("pageSize") Integer pageSiz,
                                          String startDate, String endDate,@Param("rework") ReworkDTO rework);
north-glass-erp/src/main/java/com/example/erp/service/pp/ReportingWorkService.java
@@ -67,6 +67,8 @@
    private final SysErrorService sysErrorService;
    private final FinishedOperateLogMapper finishedOperateLogMapper;
    private final RestTemplate restTemplate;
    private final PatchLogMapper patchLogMapper;
    private final ReworkMapper reworkMapper;
    /*public ReportingWorkService(ReportingWorkMapper reportingWorkMapper, BasicDateProduceMapper basicDateProduceMapper, DamageDetailsMapper damageDetailsMapper, ReportingWorkDetailMapper reportingWorkDetailMapper, OrderProcessDetailMapper orderProcessDetailMapper, OrderProcessDetailService orderProcessDetailService, OrderMapper orderMapper, FlowCardMapper flowCardMapper, LogService logService, LogMapper logMapper, OrderGlassDetailMapper orderGlassDetailMapper, SysErrorService sysErrorService, OrderDetailMapper orderDetailMapper, FinishedOperateLogMapper finishedOperateLogMapper, ReportingWorkTransferMapper reportingWorkTransferMapper) {
@@ -153,7 +155,7 @@
                if (retrievedData!=null){
                    Integer reviewedState = retrievedData.getReviewedState();
                    //根据审核状态查询未审核数据
                    if (reviewedState==1){//已审核
                   // if (reviewedState==1){//已审核
                        //不是第一道工序,查询报工数据
                        List<Map<String,String>>  details = reportingWorkMapper.SelectReworlDetailMp(processIdStr, technologyStr, process,previousProcess,laminating);
                        if(process.equals("中空")){
@@ -171,24 +173,24 @@
                            });
                        }
                        map.put("Detail",details );
                    }else {
                        //不是第一道工序,查询报工数据
                        List<Map<String,String>>  details = reportingWorkMapper.SelectReworlDetailMpReview(processIdStr, technologyStr, process,previousProcess,laminating);
                        if(process.equals("中空")){
                            String orderId = reportingWorkMapper.selectOrderid(processIdStr);
                            details.forEach( detail -> {
                                Integer glassId = orderGlassDetailMapper.
                                        getMinIdByGroup(orderId,
                                                String.valueOf(detail.get("order_number")),
                                                String.valueOf(detail.get("group")));
                                int listGlassId = Integer.parseInt(String.valueOf(detail.get("glassId")));
                                if(listGlassId  !=glassId){
                                    detail.put("rowClass","latter");
                                }
                            });
                        }
                        map.put("Detail",details );
                    }
//                    }else {
//                        //不是第一道工序,查询报工数据
//                        List<Map<String,String>>  details = reportingWorkMapper.SelectReworlDetailMpReview(processIdStr, technologyStr, process,previousProcess,laminating);
//                        if(process.equals("中空")){
//                            String orderId = reportingWorkMapper.selectOrderid(processIdStr);
//                            details.forEach( detail -> {
//                                Integer glassId = orderGlassDetailMapper.
//                                        getMinIdByGroup(orderId,
//                                                String.valueOf(detail.get("order_number")),
//                                                String.valueOf(detail.get("group")));
//                                int listGlassId = Integer.parseInt(String.valueOf(detail.get("glassId")));
//                                if(listGlassId  !=glassId){
//                                    detail.put("rowClass","latter");
//                                }
//                            });
//                        }
//                        map.put("Detail",details );
//                    }
                }
            }
@@ -934,6 +936,17 @@
            result.put("data",false);
            return result;
        }
        List<ReportingWorkTransfer> reportingWorkTransferList = reportingWorkTransferMapper
                .selectList(new QueryWrapper<ReportingWorkTransfer>()
                        .eq("old_order", reportingWork.get("newOrderId"))
                        .eq("old_order_number", reportingWork.get("newOrderNumber"))
                );
        if(!reportingWorkTransferList.isEmpty()){
            result.put("msg","新订单序号之前已转出报工数据,无法进行转入");
            result.put("data",false);
            return result;
        }
        //获取旧订单报工数据汇总
        List<OrderProcessDetail> oldOrderProcessDetailForReport = orderProcessDetailMapper
                .selectList(new QueryWrapper<OrderProcessDetail>()
@@ -941,6 +954,51 @@
                        .eq("order_number", reportingWork.get("oldOrderNumber"))
                        .gt("reporting_work_num",0)
        );
        if (oldOrderProcessDetailForReport.isEmpty()){
            result.put("msg","旧订单没有可转出的报工数据");
            result.put("data",false);
            return result;
        }
        List<String> oldOrderProcessIdList = new ArrayList<>();
        oldOrderProcessDetailList.forEach(oldOrderProcessDetail -> oldOrderProcessIdList.add(oldOrderProcessDetail.getProcessId()));
        //获取旧数据破损表是否存在破损
        List<DamageDetails> damageDetails = damageDetailsMapper.selectList(
                new QueryWrapper<DamageDetails>()
                        .in("process_id",oldOrderProcessIdList)
                        .eq("order_number", reportingWork.get("oldOrderNumber"))
                        .eq("quantity",0)
        );
        if(!damageDetails.isEmpty()){
            result.put("msg","旧订单存在报工未处理破损数据");
            result.put("data",false);
            return result;
        }
        //获取补片表是否存在补片未审核状态
        List<PatchLog> patchLogs = patchLogMapper.selectList(
                new QueryWrapper<PatchLog>()
                        .eq("order_id", reportingWork.get("oldOrderId"))
                        .eq("order_sort", reportingWork.get("oldOrderNumber"))
                        .eq("review_status",0)
        );
        if (patchLogs.isEmpty()){
            result.put("msg","旧订单存在补片未审核数据");
            result.put("data",false);
            return result;
        }
        List<Rework> reworks = reworkMapper.selectList(
                new QueryWrapper<Rework>()
                    .eq("order_id", reportingWork.get("oldOrderId"))
                    .eq("order_sort", reportingWork.get("oldOrderNumber"))
                    .eq("review_status",0)
        );
        if (patchLogs.isEmpty()){
            result.put("msg","旧订单存在返工未审核数据,请先审核报工后再进行转出");
            result.put("data",false);
            return result;
        }
        Map<String,Object> log = new HashMap<>();
        log.put("oldOrderBeforeChange",oldOrderProcessDetailForReport);
@@ -956,6 +1014,7 @@
            reportingWorkMapper.update(null,new UpdateWrapper<ReportingWork>()
                    .set("reviewed_state",3)
                    .eq("process_id",oldOrderProcessDetail.getProcessId())
                    .gt("reviewed_state",0)
            );
@@ -1033,7 +1092,6 @@
                        orderNumberTransferList.add(orderNumberTransfer);
                    }
                }
            }
        });
@@ -1061,20 +1119,20 @@
        //restTemplate.postForObject("http://localhost:8086/order/test",orderNumberTransferList,String.class);
        //向mes发送http请求
        ResponseEntity<String> response =restTemplate.exchange(
        ResponseEntity<OrderNumberTransferDTO> response =restTemplate.exchange(
                "http://localhost:88/api/loadGlass/order/order/orderChange",
                HttpMethod.POST,
                new HttpEntity<>(orderNumberTransferList),
                String.class);
                OrderNumberTransferDTO.class);
        if(response.getStatusCode() == HttpStatus.OK){
            OrderNumberTransferDTO responseBody = response.getBody();
            result.put("data",true);
            return result;
        }else{
            result.put("msg","连接mes响应超时");
            result.put("data",false);
            return result;
        }
        return result;
    }
}
north-glass-erp/src/main/resources/mapper/pp/ReportingWork.xml
@@ -189,56 +189,55 @@
<!--    éžç¬¬ä¸€é“工序报工明细查询-->
    <select id="SelectReworlDetailMp">
        SELECT
            fc.order_number,
            ogd.glass_child,
            ogd.technology_number,
            ogd.glass_address,
            fc.quantity AS quantity_card,
            ogd.child_width,
            ogd.child_height,
        fc.order_number,
        ogd.glass_child,
        ogd.technology_number,
        ogd.glass_address,
        fc.quantity AS quantity_card,
        ogd.child_width,
        ogd.child_height,
        if(od.shape=1,'普形',if(od.shape=2,'异形','')) as shape,
            if((odpds.reporting_work_num_count + ifnull(c.patchNumSum,0) -odpd.reporting_work_num_count -odpd.broken_num ) &lt; 0,
                0,
        if((odpds.reporting_work_num_count + ifnull(c.patchNumSum,0) -odpd.reporting_work_num_count -odpd.broken_num ) &lt; 0,
        0,
        odpds.reporting_work_num_count + ifnull(c.patchNumSum,0) -odpd.reporting_work_num_count -odpd.broken_num) as quantity,
            if((odpds.reporting_work_num_count + ifnull(c.patchNumSum,0) -odpd.reporting_work_num_count -odpd.broken_num) &lt; 0,
                0,
        if((odpds.reporting_work_num_count + ifnull(c.patchNumSum,0) -odpd.reporting_work_num_count -odpd.broken_num) &lt; 0,
        0,
        odpds.reporting_work_num_count + ifnull(c.patchNumSum,0) -odpd.reporting_work_num_count -odpd.broken_num) as completedQuantity,
            odpd.reporting_work_num as completed,
            odpd.broken_num as onceBroken,
            ogd.`group`,
            if(fc.quantity -odpd.reporting_work_num = 0 ,true,false) as saveFlag, -- åˆ¤æ–­æ˜¯å¦å·²ç»å®Œæˆï¼Œå·²ç»å®Œæˆä¸åºå·å’ŒåŒåºå·æ•°é‡ç›¸åŒæ‰èƒ½æäº¤
            od.other_columns,
            ogd.id as 'glassId'
        odpd.reporting_work_num as completed,
        odpd.broken_num as onceBroken,
        ogd.`group`,
        if(fc.quantity -odpd.reporting_work_num = 0 ,true,false) as saveFlag, -- åˆ¤æ–­æ˜¯å¦å·²ç»å®Œæˆï¼Œå·²ç»å®Œæˆä¸åºå·å’ŒåŒåºå·æ•°é‡ç›¸åŒæ‰èƒ½æäº¤
        od.other_columns,
        ogd.id as 'glassId',IFNULL(rws.reviewed_state,0) as reviewed_state
        FROM
            sd.order_detail AS od
        sd.order_detail AS od
        LEFT JOIN sd.order_glass_detail AS ogd
                ON od.order_id = ogd.order_id
                AND od.order_number = ogd.order_number
        ON od.order_id = ogd.order_id
        AND od.order_number = ogd.order_number
        <if test="process == '夹胶'">
            AND ogd.`group` = (select `group`
                               from sd.order_glass_detail
                               where order_id = ogd.order_id
                               and order_number = ogd.order_number
                               and POSITION(technology_number in #{technologyStr})
                               limit 1)
            from sd.order_glass_detail
            where order_id = ogd.order_id
            and order_number = ogd.order_number
            and POSITION(technology_number in #{technologyStr})
            limit 1)
        </if>
        LEFT JOIN flow_card AS fc
                ON fc.order_id = ogd.order_id
                and fc.production_id=ogd.production_id
                AND fc.order_number = ogd.order_number
                AND fc.technology_number = ogd.technology_number
        ON fc.order_id = ogd.order_id
        and fc.production_id=ogd.production_id
        AND fc.order_number = ogd.order_number
        AND fc.technology_number = ogd.technology_number
        left join sd.order_process_detail as odpd
                ON  odpd.order_id = fc.order_id
                AND odpd.order_number = fc.order_number
                AND odpd.technology_number = fc.technology_number
                and odpd.process_id = fc.process_id
        ON  odpd.order_id = fc.order_id
        AND odpd.order_number = fc.order_number
        AND odpd.technology_number = fc.technology_number
        and odpd.process_id = fc.process_id
        left join sd.order_process_detail as odpds
                ON  odpds.id = odpd.id-1
        ON  odpds.id = odpd.id-1
        left join
            (SELECT
        (SELECT
        sum(rw.rework_num) as 'patchNumSum',
        rw.process_id,rw.order_sort,rw.technology_number,
        rwk.this_process
@@ -251,16 +250,27 @@
        and rw.review_status=1
        and rw.process_id = #{processIdStr}
        GROUP BY rw.process_id,rw.order_sort,rw.technology_number) as c
            on c.process_id = fc.process_id
            and c.order_sort = fc.order_number
            and c.technology_number = fc.technology_number
        WHERE
            fc.process_id = #{processIdStr}
        on c.process_id = fc.process_id
        and c.order_sort = fc.order_number
        and c.technology_number = fc.technology_number
        left join (select reviewed_state as reviewed_state ,
        process_id,a.reporting_work_id,b.technology_number,b.order_number
        from reporting_work as a
        left join reporting_work_detail as b on a.reporting_work_id = b.reporting_work_id
        where this_process=#{previousProcess} and process_id= #{processIdStr}
        <if test="laminating != 'laminating'">
           AND POSITION(fc.technology_number in #{technologyStr})
            AND POSITION(b.technology_number in #{technologyStr})
        </if>
        GROUP BY b.order_number,b.technology_number
        ) as rws
        on rws.process_id = fc.process_id and rws.order_number=fc.order_number and rws.technology_number=fc.technology_number
        WHERE
        fc.process_id = #{processIdStr}
        AND odpd.process = #{process}
        <if test="laminating != 'laminating'">
            AND POSITION(fc.technology_number in #{technologyStr})
        </if>
        order by fc.order_number
    </select>
north-glass-erp/src/main/resources/mapper/sd/OrderMapper.xml
@@ -104,7 +104,8 @@
    <select id="getOrderList">
       select * from (select
            o.*,
        ifnull(sum(fgi.quantity_available),0) as goodsQuantity
        ifnull(sum(fgi.quantity_available),0) as goodsQuantity,
        if(DATEDIFF(o.delivery_date, CURDATE()) &lt; 3  and o.delivery &lt; 2, 'timeOut','' ) as timeOut
        from
            sd.`order` as o
        left join mm.finished_goods_inventory as  fgi