north-glass-erp/northglass-erp/src/components/pp/PrintProcess.vue
@@ -32,7 +32,8 @@ printMerge: null, printLike: null, printProject:null, merges:null merges:null, printFc:null }) const {currentRoute} = useRouter() @@ -61,6 +62,8 @@ merges = null } let name=company.companyName let printNumberFc = props.printFc data.value.printList = JSON.parse(props.printList) let flowCardCount = '' onMounted(() => { @@ -257,7 +260,8 @@ <tr v-for="(itemFlow,index) in item.detail" :key="index"> <td colspan="31"> <div style="float: left;"><input style="border: none;font-size: 28px;width: 70px;margin: 5px "/></div> <div id="bj" style="float: right;font-size: 28px">{{ id + 1 }}</div> <div id="bj" v-if="printFc=='true'" style="float: right;font-size: 28px">{{ id + 1 }}</div> <div id="bj" v-else style="float: right;font-size: 28px"></div> <div>{{ company.companyName }}</div> <div>ç产æµç¨å¡<span style="font-weight: bold" v-if="printProject!=null">({{ printProject }})</span></div> <div style="font-weight: bolder;display: flex;justify-content:space-between"> north-glass-erp/northglass-erp/src/stores/sd/companySet/Ìì½ò±±²£.js
@@ -35,7 +35,8 @@ deliveryRemark: ['夿³¨:æ¬æ¹ç»ç为ä¼çåæ ¼åï¼è¯·å¨å¸è´§æ¶,å½é¢æ¶ç¹éªæ¶ãå¦æè´¨éé®é¢å¨ä¸å¨å 䏿¬å ¬å¸èç³»,å¦åæ¦ä¸è´è´£ï¼'], deliveryOutbound: false,//åè´§é»è®¤åºåº flowCardMerge: 0,//æµç¨å¡åçæå° printBtn:1,//æå°çé¢ä¸ä¸ªæé®ä¸æ¯å¦æ¾ç¤ºæ ç¾æå°ç¸å ³æé®ï¼0æ¾ç¤ºå¸¸å·ï¼1å ¶å®ä¸æ¾ç¤º printBtn:0,//æå°çé¢ä¸ä¸ªæé®ä¸æ¯å¦æ¾ç¤ºæ ç¾æå°ç¸å ³æé®ï¼0æ¾ç¤ºï¼1å ¶å®ä¸æ¾ç¤º printNumber:true,//å¤é订åæå°æµç¨å¡æ¯å¦æ¾ç¤ºå³ä¸è§åºå·ä¹ä¹false,å ¶å®true //天津 printLabel: { custom: (item1) => { north-glass-erp/northglass-erp/src/stores/sd/companySet/³£ÖݼªÀû.js
@@ -36,6 +36,7 @@ deliveryOutbound: true,//åè´§é»è®¤åºåº flowCardMerge: 1,//æµç¨å¡åçæå° printBtn:0,//æå°çé¢ä¸ä¸ªæé®ä¸æ¯å¦æ¾ç¤ºæ ç¾æå°ç¸å ³æé®ï¼0æ¾ç¤ºå¸¸å·ï¼1å¤©æ´¥å ¶å®ä¸æ¾ç¤º printNumber:true,//å¤é订åæå°æµç¨å¡æ¯å¦æ¾ç¤ºå³ä¸è§åºå·ä¹ä¹false,å ¶å®true //天津 printLabel: { custom: (item1) => { north-glass-erp/northglass-erp/src/stores/sd/companySet/н®ºãöÎ.js
@@ -36,7 +36,7 @@ deliveryOutbound: false,//åè´§é»è®¤åºåº flowCardMerge: 0,//æµç¨å¡åçæå° printBtn:1,//æå°çé¢ä¸ä¸ªæé®ä¸æ¯å¦æ¾ç¤ºæ ç¾æå°ç¸å ³æé®ï¼0æ¾ç¤ºå¸¸å·ï¼1å¤©æ´¥å ¶å®ä¸æ¾ç¤º printNumber:true,//å¤é订åæå°æµç¨å¡æ¯å¦æ¾ç¤ºå³ä¸è§åºå·ä¹ä¹false,å ¶å®true //天津 printLabel: { custom: (item1) => { north-glass-erp/northglass-erp/src/stores/sd/companySet/½ð»ªÌì³É.js
@@ -38,6 +38,7 @@ deliveryOutbound: false,//åè´§é»è®¤åºåº flowCardMerge: 0,//æµç¨å¡åçæå° printBtn:1,//æå°çé¢ä¸ä¸ªæé®ä¸æ¯å¦æ¾ç¤ºæ ç¾æå°ç¸å ³æé®ï¼0æ¾ç¤ºå¸¸å·ï¼1å¤©æ´¥å ¶å®ä¸æ¾ç¤º printNumber:true,//å¤é订åæå°æµç¨å¡æ¯å¦æ¾ç¤ºå³ä¸è§åºå·ä¹ä¹false,å ¶å®true //天津 printLabel: { custom: (item1) => { north-glass-erp/northglass-erp/src/views/pp/processCard/PrintFlowCard.vue
@@ -62,7 +62,8 @@ list: null, printMergeVal: null, like: null, merge: null merge: null, printFc:null }) //æ ç¾ @@ -191,6 +192,7 @@ let orderId = route.query.orderId data.value.printList = JSON.parse(route.query.printList) let printFc = route.query.printNumberFc let inquiryMode = route.query.checkedValue // ç¬¬ä¸æ¬¡å è½½æ¥è¯¢ @@ -406,6 +408,7 @@ printRow.value.printMergeVal = printMerge.value printRow.value.like = null printRow.value.merge = company.flowCardMerge printRow.value.printFc= printFc // router.push({path: '/main/processCard/printProcess', query: {printList: JSON.stringify(selectRecords),printMerge:printMergeVal}}) if(company.companyName=='常å·å¸åå©ç»çæéå ¬å¸'){ dialogTableVisibleStraight.value = true @@ -664,7 +667,6 @@ } // 妿 printBtn 为 '1'ï¼åéè customLabel æé® if (btnType == 1 && button.code === 'customLabel') { console.log('Hiding customLabel button'); return false; // éè customLabel æé® } @@ -804,6 +806,7 @@ :printLike="printRow.like" :printList="printRow.list" :printMerge="printRow.printMergeVal" :printFc="printRow.printFc" :merges="printRow.merge" style="width: 100%;height: 100%"/> </el-dialog> north-glass-erp/northglass-erp/src/views/pp/processCard/SelectPrintFlowCard.vue
@@ -22,7 +22,7 @@ const printVisible= ref(false) const orderInfo = useOrderInfoStore() let printNumberFc = company.printNumber; const userStore = useUserInfoStore() const userId = userStore.user.userId @@ -301,7 +301,10 @@ } } let array = orderIdList.split('|'); router.push({path: '/main/processCard/PrintFlowCard', query: {printList: JSON.stringify(selectRecords),checkedValue:checkedValue.value.value}}) if (selectRecords.length==1){ printNumberFc = true } router.push({path: '/main/processCard/PrintFlowCard', query: {printList: JSON.stringify(selectRecords),checkedValue:checkedValue.value.value,printNumberFc:printNumberFc}}) return; } north-glass-erp/northglass-erp/src/views/sd/product/CreateProduct.vue
@@ -152,7 +152,12 @@ productTotal.value.id = null productTotal.value.state = 0 } if(productTotal.value.id!==null && productTotal.value.creator!==userInfo.user.userName || company.notChangeProduct){ console.log(productTotal.value.id) if(productTotal.value.id != null && productTotal.value.creator !== userInfo.user.userName & company.notChangeProduct ){ ElMessage.warning('å建人æ¯ï¼'+productTotal.value.creator+' æ æ³æä½ï¼') return; } @@ -191,7 +196,7 @@ //å®¡æ ¸äº§åç¶æ const updateProductState = (state) => { if(productTotal.value.id!==null && productTotal.value.creator!==userInfo.user.userName || company.notChangeProduct){ if(productTotal.value.id!==null && productTotal.value.creator!==userInfo.user.userName && company.notChangeProduct){ ElMessage.warning('å建人æ¯ï¼'+productTotal.value.creator+' æ æ³æä½ï¼') return; } north-glass-erp/src/main/java/com/example/erp/controller/pp/ReportController.java
@@ -25,6 +25,7 @@ import java.time.LocalDate; import java.util.List; import java.util.Map; import java.util.concurrent.ExecutionException; @RestController @Api(value = "ç产æ¥è¡¨controller", tags = {"ç产æ¥è¡¨æä½æ¥å£"}) north-glass-erp/src/main/java/com/example/erp/mapper/pp/ReportMapper.java
@@ -98,6 +98,10 @@ String getLaminating(String selectProcesses); Integer workInProgressOrderTotalNew(int i, int i1, String orderId, String inputProject, String selectProcesses, WorkInProgressDTO workInProgressDTO); List<Map<String, Object>> workInProgressOrderMpNew(int offset, int pageSize, String orderId, String inputProject, String selectProcesses, WorkInProgressDTO workInProgressDTO); // Map<String, Integer> getWorkInProgressTotal( // @Param("selectTime1") Date selectTime1, @Param("selectTime2") Date selectTime2, north-glass-erp/src/main/resources/mapper/pp/Report.xml
@@ -2170,4 +2170,151 @@ <select id="getLaminating"> select IFNULL(nickname,'') from sd.basic_data where basic_category='process' and basic_name=#{selectProcesses} </select> <select id="workInProgressOrderTotalNew" > select ifnull(count(distinct o.order_id),0) from 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 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 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 left join sd.order_process_detail as odpds ON odpds.id = odpd.id - 1 left join (SELECT sum(rw.rework_num) as 'patchNumSum', rw.process_id, rw.order_sort, rw.technology_number, rwk.this_process from rework as rw LEFT JOIN reporting_work as rwk on rw.reporting_work_id = rwk.reporting_work_id where rwk.this_process = #{selectProcesses} and rw.review_status >= 0 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 left join sd.`order` as o on o.order_id = od.order_id left join ( select a.process_id,a.teams_groups_name,a.next_process,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 GROUP BY a.process_id,a.teams_groups_name,a.next_process,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 and rws.next_process=#{selectProcesses} where o.create_order>0 and odpds.reporting_work_num_count + ifnull(c.patchNumSum, 0) - odpd.reporting_work_num_count - odpd.broken_num != 0 and odpd.process = #{selectProcesses} and position(#{orderId} in od.order_id) and position(#{inputProject} in o.project) <if test="workInProgressDTO.customerName != null and workInProgressDTO.customerName != ''"> and o.customer_name regexp #{workInProgressDTO.customerName} </if> <if test="workInProgressDTO.project != null and workInProgressDTO.project != ''"> and o.project regexp #{workInProgressDTO.project} </if> <if test="workInProgressDTO.orderId != null and workInProgressDTO.orderId != ''"> and o.order_id regexp #{workInProgressDTO.orderId} </if> <if test="workInProgressDTO.batch != null and workInProgressDTO.batch != ''"> and o.batch regexp #{workInProgressDTO.batch} </if> </select> <select id="workInProgressOrderMpNew" resultMap="workInProgressMap"> select #{selectProcesses} as thisProcess, o.customer_name, o.project, o.order_id, o.batch, if(od.shape='' || ISNULL(od.shape),'æ®å½¢',if(od.shape = 1, 'æ®å½¢', if(od.shape = 2, 'å¼å½¢', ''))) as shape, sum(od.quantity) as quantity, sum(odpds.reporting_work_num_count + ifnull(c.patchNumSum, 0) - odpd.reporting_work_num_count - odpd.broken_num) as stockNum, sum(ROUND(ogd.child_width * ogd.child_height * (odpds.reporting_work_num_count + ifnull(c.patchNumSum, 0) - odpd.reporting_work_num_count - odpd.broken_num) / 1000000, 2)) as stockArea, od.product_name, rws.teams_groups_name from 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 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 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 left join sd.order_process_detail as odpds ON odpds.id = odpd.id - 1 left join (SELECT sum(rw.rework_num) as 'patchNumSum', rw.process_id, rw.order_sort, rw.technology_number, rwk.this_process from rework as rw LEFT JOIN reporting_work as rwk on rw.reporting_work_id = rwk.reporting_work_id where rwk.this_process = #{selectProcesses} and rw.review_status >= 0 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 left join sd.`order` as o on o.order_id = od.order_id left join ( select a.process_id,a.teams_groups_name,a.next_process,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 GROUP BY a.process_id,a.teams_groups_name,a.next_process,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 and rws.next_process=#{selectProcesses} where o.create_order>0 and odpds.reporting_work_num_count + ifnull(c.patchNumSum, 0) - odpd.reporting_work_num_count - odpd.broken_num != 0 and odpd.process = #{selectProcesses} and position(#{orderId} in od.order_id) and position(#{inputProject} in o.project) <if test="workInProgressDTO.customerName != null and workInProgressDTO.customerName != ''"> and o.customer_name regexp #{workInProgressDTO.customerName} </if> <if test="workInProgressDTO.project != null and workInProgressDTO.project != ''"> and o.project regexp #{workInProgressDTO.project} </if> <if test="workInProgressDTO.orderId != null and workInProgressDTO.orderId != ''"> and o.order_id regexp #{workInProgressDTO.orderId} </if> <if test="workInProgressDTO.batch != null and workInProgressDTO.batch != ''"> and o.batch regexp #{workInProgressDTO.batch} </if> group by o.order_id order by o.order_id limit #{offset},#{pageSize}; </select> </mapper>